Steven Syrek
8e40018701
fix(daemon): Fix double-unlock risk in debouncer on action panic ( #1140 )
...
The debouncer's timer callback used a pattern that could cause a
double-unlock panic if the action function panicked:
d.mu.Lock()
defer d.mu.Unlock()
if d.seq == currentSeq {
d.mu.Unlock() // Manual unlock
d.action() // If this panics...
d.mu.Lock() // ...this never runs
} // ...but defer still tries to unlock
Fix: Remove the defer and manually manage lock state. Now if the
action panics, the lock is already released, preventing a
double-unlock panic that would mask the original panic.
Co-authored-by: Steven Syrek <steven.syrek@deepl.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-19 10:08:53 -08:00
..
2026-01-17 05:07:11 -08:00
2026-01-13 08:41:25 -06:00
2026-01-16 14:33:08 -08:00
2025-12-28 20:48:37 -08:00
2026-01-01 10:51:51 -08:00
2026-01-10 12:43:46 -08:00
2026-01-17 01:54:50 -08:00
2025-12-27 16:21:08 -08:00
2026-01-06 22:18:37 -08:00
2026-01-03 13:25:15 -08:00
2026-01-06 22:18:37 -08:00
2026-01-13 20:58:07 -08:00
2026-01-06 19:05:34 -08:00
2026-01-12 16:39:06 -08:00
2026-01-17 00:04:09 -08:00
2026-01-06 12:52:19 -08:00
2026-01-15 19:23:07 -08:00
2026-01-17 01:55:16 -08:00
2025-12-28 10:05:16 -08:00
2025-12-27 16:02:15 -08:00
2026-01-13 13:22:19 +00:00
2026-01-17 03:48:51 -08:00
2026-01-13 13:28:30 +00:00
2025-12-28 18:43:09 -08:00
2025-12-30 00:00:25 -08:00
2026-01-17 01:54:50 -08:00
2026-01-15 19:22:55 -08:00
2026-01-06 19:37:20 -08:00
2026-01-17 14:02:28 -08:00
2026-01-17 14:02:28 -08:00
2026-01-01 10:46:56 -08:00
2026-01-01 10:46:56 -08:00
2026-01-14 20:50:56 -08:00
2026-01-02 14:01:56 -08:00
2026-01-02 16:00:54 -08:00
2026-01-16 15:44:33 -08:00
2026-01-01 10:53:59 -08:00
2026-01-01 20:06:13 -08:00
2026-01-17 00:42:06 -08:00
2025-12-31 13:14:15 -08:00
2026-01-01 10:48:14 -08:00
2026-01-17 02:51:06 -08:00
2026-01-17 00:16:05 -08:00
2026-01-12 23:51:56 -08:00
2026-01-10 22:50:16 -08:00
2025-12-27 16:02:15 -08:00
2026-01-19 10:08:53 -08:00
2025-12-28 10:05:16 -08:00
2025-12-29 14:43:00 -08:00
2025-12-29 14:43:00 -08:00
2025-12-28 10:05:16 -08:00
2026-01-04 10:53:31 -08:00
2026-01-10 22:50:16 -08:00
2026-01-10 16:28:52 -08:00
2026-01-10 16:31:16 -08:00
2026-01-07 21:27:20 -08:00
2026-01-17 03:40:28 -08:00
2026-01-19 10:08:41 -08:00
2026-01-04 16:16:53 -08:00
2026-01-04 11:14:36 -08:00
2026-01-14 21:42:31 -08:00
2026-01-03 13:22:52 -08:00
2026-01-06 18:59:25 -08:00
2025-12-27 16:02:15 -08:00
2026-01-10 12:43:46 -08:00
2026-01-08 14:32:12 -08:00
2026-01-10 12:08:48 -08:00
2025-12-28 16:40:43 -08:00
2026-01-17 01:55:16 -08:00
2026-01-09 12:02:02 +01:00
2025-12-30 16:29:28 -08:00
2026-01-12 19:42:51 -08:00
2025-12-28 18:43:09 -08:00
2025-12-29 14:39:43 -08:00
2025-12-28 20:48:37 -08:00
2025-12-28 20:48:37 -08:00
2026-01-06 23:31:09 -08:00
2026-01-14 20:36:30 -08:00
2026-01-06 12:52:19 -08:00
2026-01-06 19:05:34 -08:00
2026-01-17 03:44:13 -08:00
2026-01-17 03:44:13 -08:00
2026-01-09 22:53:53 -08:00
2025-12-31 13:14:15 -08:00
2025-12-31 13:14:15 -08:00
2025-12-31 11:39:17 -08:00
2026-01-06 22:18:37 -08:00
2026-01-01 18:17:12 -08:00
2026-01-01 10:53:59 -08:00
2026-01-01 10:51:22 -08:00
2026-01-01 11:05:05 -08:00
2025-12-30 14:13:32 -08:00
2026-01-15 07:55:08 -08:00
2026-01-06 23:40:37 -08:00
2026-01-13 00:46:50 -08:00
2025-12-31 13:14:15 -08:00
2025-12-28 20:48:37 -08:00
2026-01-08 20:50:56 -08:00
2026-01-17 01:55:16 -08:00
2026-01-17 10:46:44 -08:00
2026-01-17 08:44:30 +01:00
2026-01-17 08:44:30 +01:00
2025-12-29 14:33:19 -08:00
2025-12-27 16:02:15 -08:00
2026-01-03 13:27:36 -08:00
2026-01-15 19:23:07 -08:00
2026-01-17 04:36:41 -08:00
2025-12-28 18:43:09 -08:00
2026-01-14 20:50:56 -08:00
2026-01-16 12:01:43 -08:00
2026-01-12 17:29:57 -08:00
2026-01-17 02:29:01 -08:00
2026-01-17 02:29:01 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 11:37:57 -08:00
2026-01-15 11:37:57 -08:00
2026-01-16 12:24:48 -08:00
2025-12-28 10:05:16 -08:00
2025-12-30 16:07:31 -08:00
2026-01-01 10:51:51 -08:00
2026-01-06 19:05:34 -08:00
2025-12-30 16:58:10 -08:00
2025-12-30 16:58:10 -08:00
2025-12-28 18:43:09 -08:00
2025-12-28 18:43:09 -08:00
2026-01-07 20:45:00 -08:00
2026-01-01 14:18:49 -08:00
2026-01-08 20:50:56 -08:00
2026-01-01 20:06:13 -08:00
2026-01-12 02:05:13 -08:00
2025-12-30 14:13:32 -08:00
2026-01-10 12:43:46 -08:00
2026-01-01 23:55:40 -08:00
2025-12-28 18:43:09 -08:00
2026-01-18 18:25:50 -08:00
2026-01-17 03:44:02 -08:00
2026-01-15 07:55:08 -08:00
2025-12-30 00:06:42 -08:00
2025-12-30 00:06:42 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 07:55:08 -08:00
2025-12-30 00:06:42 -08:00
2026-01-10 23:42:49 -08:00
2025-12-31 00:33:11 -08:00
2026-01-10 11:55:33 -08:00
2025-12-31 13:08:41 -08:00
2025-12-29 16:17:51 -08:00
2025-12-31 13:04:19 -08:00
2026-01-17 05:07:11 -08:00
2026-01-08 21:22:17 -08:00
2026-01-02 14:08:22 -08:00
2025-12-30 14:13:32 -08:00
2025-12-30 06:59:51 -08:00
2026-01-02 16:00:54 -08:00
2025-12-27 16:02:15 -08:00
2026-01-02 01:31:19 -08:00
2026-01-06 19:05:34 -08:00
2026-01-04 16:24:18 -08:00
2026-01-04 16:24:18 -08:00
2025-12-29 14:17:44 -08:00
2025-12-29 14:17:44 -08:00
2025-12-31 00:33:11 -08:00
2025-12-31 00:05:53 -08:00
2026-01-01 10:51:51 -08:00
2026-01-07 20:45:40 -08:00
2026-01-17 00:24:34 -08:00
2026-01-16 15:44:33 -08:00
2026-01-07 20:44:16 -08:00
2026-01-01 20:06:13 -08:00
2026-01-08 21:22:17 -08:00
2026-01-06 19:05:34 -08:00
2026-01-15 19:23:07 -08:00
2025-12-27 16:02:15 -08:00
2026-01-06 19:05:34 -08:00
2026-01-04 10:53:31 -08:00
2026-01-04 10:53:31 -08:00
2025-12-27 22:24:19 -08:00
2026-01-06 19:32:20 -08:00
2025-12-31 13:14:15 -08:00
2026-01-06 18:59:25 -08:00
2025-12-29 12:43:22 -08:00
2025-12-29 13:16:47 -08:00
2026-01-16 12:01:43 -08:00
2026-01-07 21:41:29 -08:00
2026-01-08 20:21:02 -08:00
2025-12-27 16:02:15 -08:00
2025-12-31 13:14:15 -08:00
2026-01-13 08:41:25 -06:00
2026-01-08 20:50:56 -08:00
2025-12-28 18:43:09 -08:00
2026-01-17 05:07:11 -08:00
2025-12-30 16:00:22 -08:00
2026-01-17 01:55:16 -08:00
2026-01-04 15:21:36 -08:00
2026-01-03 13:27:36 -08:00
2026-01-09 13:40:52 -08:00
2026-01-18 18:25:50 -08:00
2025-12-30 15:57:08 -08:00
2025-12-30 15:57:08 -08:00
2026-01-15 19:23:07 -08:00
2025-12-29 14:39:43 -08:00
2025-12-30 18:04:26 -08:00
2026-01-17 00:04:09 -08:00
2026-01-15 19:23:07 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 19:23:09 -08:00
2026-01-07 21:27:20 -08:00
2026-01-15 19:22:52 -08:00
2026-01-15 19:22:52 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 19:23:07 -08:00
2026-01-06 12:52:19 -08:00
2026-01-17 14:02:47 -08:00
2026-01-17 14:02:47 -08:00
2026-01-07 21:27:20 -08:00
2026-01-07 21:27:20 -08:00
2026-01-18 10:36:20 -08:00
2026-01-18 10:36:20 -08:00
2026-01-15 08:02:20 -08:00
2026-01-07 21:27:20 -08:00
2026-01-02 00:05:12 -08:00
2026-01-18 10:36:20 -08:00
2026-01-03 12:44:16 -08:00
2025-12-28 20:48:37 -08:00
2026-01-17 05:07:11 -08:00
2026-01-14 20:43:07 -08:00
2026-01-15 07:55:08 -08:00
2025-12-27 16:08:34 -08:00
2025-12-27 16:02:15 -08:00
2025-12-27 16:02:15 -08:00
2026-01-17 05:07:11 -08:00
2026-01-06 18:59:25 -08:00
2026-01-16 16:02:51 -08:00
2025-12-30 17:14:55 -08:00
2026-01-17 01:55:16 -08:00
2025-12-30 16:29:28 -08:00
2026-01-02 01:07:34 -08:00
2025-12-28 10:05:16 -08:00
2026-01-17 04:36:41 -08:00
2026-01-10 13:34:53 -08:00
2026-01-12 01:35:22 -08:00
2026-01-15 07:55:08 -08:00
2026-01-15 07:55:08 -08:00
2026-01-10 22:38:04 -08:00
2026-01-15 07:55:08 -08:00