id summary reporter owner description type status milestone component version severity resolution keywords cc 4167 RFC: asio::io_service::async_stop() to handle signals giecrilj@… chris_kohlhoff "== Problem statement == asio::io_service has no way of stopping from within a signal handler. Sending a signal to a daemon is a common way to controlling its behavior (under POSIX). Calling { io_service.stop(); } from a signal handler is not guaranteed to be safe. == Implementation suggestion == Declare and implement a public interface with the following semantics: void io_service::async_stop(void); /** Sets an internal flag in io_service to stop at the nearest event loop. May be called from a signal handler. */ == Known workarounds == Let the io_service listen to a pipe. Write to the pipe from within the signal handler. == References == " Feature Requests closed Boost 1.43.0 asio Boost 1.42.0 Problem wontfix signal, event loop