Isaac Connor
0882a3ad1e
fix: resolve Event::Run thread hang preventing zmc clean shutdown
...
Event::Run could block indefinitely in PacketQueue methods during normal
event closing (closeEvent from analysis thread), because their wait
predicates only check deleting/zm_terminate, not Event's terminate_ flag.
Three changes fix this:
- get_packet_no_wait: return immediately when iterator at end instead of
blocking on condition variable (makes it truly non-blocking)
- Event::Run: use increment_it(wait=false) since deletePacket can advance
the iterator to end() during AddPacket_ without the queue lock
- Event::Stop: call packetqueue->notify_all() to wake timed waits so
Run() checks terminate_ promptly
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 23:00:59 -05:00
..
2026-02-12 13:32:23 -05:00
2026-02-04 20:44:17 -05:00
2026-02-02 20:34:33 -05:00
2026-02-03 10:18:49 -05:00
2026-02-03 10:18:49 -05:00
2026-02-02 20:44:01 -05:00
2026-02-03 10:18:49 -05:00
2026-02-03 10:18:49 -05:00
2026-02-04 20:44:17 -05:00
2026-02-03 10:18:49 -05:00
2026-02-12 23:00:59 -05:00
2026-02-12 23:00:59 -05:00
2026-02-10 20:08:48 -06:00
2026-02-08 16:18:51 -06:00
2026-02-09 15:57:22 -05:00
2026-01-26 14:40:10 -05:00
2026-02-09 17:38:14 -05:00
2026-02-03 11:03:17 -05:00
2026-02-05 09:08:02 -05:00
2026-01-26 14:40:10 -05:00
2026-02-03 11:36:53 -05:00
2026-02-02 23:24:08 -05:00
2026-02-03 11:42:14 -05:00
2026-02-07 22:39:28 -05:00
2026-02-07 22:32:56 -05:00
2026-02-03 11:49:58 -05:00
2026-02-03 12:09:44 -05:00
2026-01-29 18:50:42 -05:00
2026-01-29 18:50:42 -05:00
2026-02-09 10:05:02 -05:00
2026-02-09 10:05:02 -05:00
2026-02-12 16:53:39 -05:00
2026-02-09 11:34:44 -05:00
2026-02-09 10:05:02 -05:00
2026-02-12 23:00:59 -05:00
2026-02-09 10:05:02 -05:00
2026-02-11 22:35:00 -05:00
2026-02-02 20:53:00 -05:00
2026-02-07 23:41:48 -05:00
2026-02-07 23:41:48 -05:00
2026-02-12 23:00:59 -05:00
2026-02-11 22:35:50 -05:00
2026-02-03 12:13:29 -05:00
2026-02-04 17:41:37 -05:00
2026-02-03 12:25:21 -05:00
2026-02-03 12:34:21 -05:00
2026-02-03 12:45:56 -05:00
2026-02-03 12:47:14 -05:00
2026-01-31 12:43:03 -05:00
2026-01-31 16:19:38 -05:00
2026-01-31 16:19:38 -05:00
2026-01-30 15:30:40 -05:00
2026-01-30 14:49:53 -05:00
2026-01-30 14:49:53 -05:00
2026-01-31 12:43:03 -05:00
2026-01-31 12:43:03 -05:00
2026-02-03 12:28:30 -05:00
2026-02-03 13:34:17 -05:00
2026-01-30 15:09:02 -05:00
2026-01-30 15:09:02 -05:00
2026-02-03 12:30:06 -05:00
2026-02-03 16:44:50 -05:00
2026-02-03 16:47:43 -05:00
2026-02-12 16:53:39 -05:00
2026-02-12 16:53:39 -05:00
2026-02-03 12:24:07 -05:00
2026-02-04 20:45:46 -05:00
2026-02-02 23:26:20 -05:00
2026-02-07 22:52:15 -05:00
2026-02-12 18:06:56 -05:00
2026-02-12 18:06:56 -05:00