30 Jun
2026
30 Jun
'26
10:59 a.m.
- Finally, POSIX signal handling is not async-signal-safe (corosio/include/boost/corosio/native/detail/posix/posix_signal_service.hpp). This is documented, but it's a regression against Asio, which performs only an async-signal-safe `write()` to a self-pipe (or uses `signalfd`) in the handler and does the real work on a normal thread.
I've been reviewing posix_signal_service implementation and it locks mutexes and calls a virtual function that locks more mutexes and allocates memory. This implementation is dangerous. I'm adding properly addressing this as an acceptance condition to my review.