:DControllerBase
:IOSignalQueue
:SignalSet
:IOSignal
:IntervalTimer
:TimerCallback
:IOService
:DProcessBase
Details of configFromFile
omitted for clarity
Sometime after
runProcess is called
SIGHUP is sent
launch()
initSignalHandling()
IOSignalQueue(io_service)
setOnReceiptHandler(DControllerBase::osSignalHandler)
SignalSet(SIGHUP,SIGINT,SIGTERM)
internalHandler(SIGHUP)
invokeOnReceiptHandler(SIGHUP)
pushSignal(SIGHUP, DControllerBase::ioSignalHandler)
IOSignal(io_service, SIGHUP, handler)
IntervalTimer(io_service)
setup(TimerCallBack(sequence_id, handler), 1, ONE_SHOT))
TimerCallback(sequence_id, handler)
operator ()()
run()
runProcess()
run()
ioSignalHandler(sequence_id)
popSignal()
getSignum()
processSignal(SIGHUP)
configFromFile()
configure()