mirror of
https://github.com/zeek/zeek.git
synced 2025-10-05 16:18:19 +00:00
![]() util::safe_write() calls abort() in case of EAGAIN errors. This is easily observed when starting clusters with 32 workers or more. Add a custom write_message() function handling EAGAIN by retrying after a small sleep. It's not clear a more complicated poll() would be much better: The pipe might be ready for writing, but then our message might not actually fit in, resulting in another EAGAIN error. And even poll() would introduce blocking/sleeping code. Take some precautions against the stem and the supervisor dead-locking when both pipes are full by draining the other end on EAGAIN errors. Closes #3043 |
||
---|---|---|
.. | ||
zeek.bare-1.node.out | ||
zeek.bare-32.node.out |