id summary reporter owner description type status milestone component version severity resolution keywords cc 8738 Signal number = 0 in signal_set handler. alxn1@… chris_kohlhoff "In boost/asio/detail/impl/signal_set_service.ipp, if signal occured, but currently handlers queue is empty, signal_set_service will increment undelivered_ variable, but not save signal number. After what, if new handler will added, it will be called with zero signal number immediately, and undelivered_ decremented: if (reg->undelivered_ > 0) { --reg->undelivered_; io_service_.post_deferred_completion(op); return; } but signal number doesn't set (op->signal_number_ == 0 in this place). I think, it's bug :) It's can be reproduced with small test utility (in attachment): compile it, start, and post to it 10-15 SIGHUP's (kill -s SIGHUP | kill -s SIGHUP | kill -s SIGHUP | kill -s SIGHUP ...). In stdout you will see: signal 1 received signal 1 received signal 1 received signal 1 received signal 1 received signal 1 received signal 1 received signal 1 received signal 0 received signal 1 received signal 1 received signal 1 received signal 1 received signal 0 received signal 1 received In some cases signal number is zero. " Bugs closed To Be Determined asio Boost 1.53.0 Problem fixed asio signal_set signo