Open awelzel opened 2 years ago
Hmm, nope. It's just that when the timer expires, the uv_loop isn't considered alive anymore and uv_run() doesn't actually process the signal handles.
Running a HTTP server or scheduling a timer again and again band-aids this.
This was initially observed when resizing the terminal which sends SIGWINCH and zeek would start spinning at 100% CPU.
We could maybe manually uv_ref()
signal handles when exit_only_after_terminate=T (or just always) to avoid this scenario.
Running zeek with the following script and sending SIGUSR1, once the timer has expired, the
zeek
process spins at 100% CPU usage and the signal handler is not invoked anymore.Looking at
-B main-loop
indicates the uv loop is always ready to be consumed.Might be triggered by
UV_RUN_NOWAIT
that we're using currently?