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",