From ea06f0b257f2a23ce8dc9d27e8bc1f25e9fc1790 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Fri, 10 Apr 2026 12:29:38 -0700 Subject: [PATCH] [wpilibj] Watchdog: handle callback throwing an exception (#8742) Ensure mutex is re-locked. --- wpilibj/src/main/java/org/wpilib/system/Watchdog.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wpilibj/src/main/java/org/wpilib/system/Watchdog.java b/wpilibj/src/main/java/org/wpilib/system/Watchdog.java index 1493c1bb65..1522c809df 100644 --- a/wpilibj/src/main/java/org/wpilib/system/Watchdog.java +++ b/wpilibj/src/main/java/org/wpilib/system/Watchdog.java @@ -274,8 +274,11 @@ public class Watchdog implements Closeable, Comparable { watchdog.m_isExpired = true; m_queueMutex.unlock(); - watchdog.m_callback.run(); - m_queueMutex.lock(); + try { + watchdog.m_callback.run(); + } finally { + m_queueMutex.lock(); + } updateAlarm(); } finally {