
Here's another Boost.Asio extension: http://www.highscore.de/boost/signal_handler.zip It provides a new I/O object to handle Unix signals. It supports blocking and asynchronous I/O operations. Again this I/O object can be used like any other I/O object from Boost.Asio. The ZIP file also contains test cases (which can be used as a documentation). There are altogether only four methods though (add_signal, remove_signal, wait and async_wait). There was another signal handler proposed before (see https://svn.boost.org/trac/boost/ticket/2879). I've uploaded my signal handler to the Boost Trac, too. The main difference is that this new signal handler is based on the Boost.Asio design guidelines (separation of I/O object, service and implementation). As far as I see the signal handler proposed before doesn't support blocking operations either. Boris