Mark Fenwick wrote:
> 
>>  > *** kill 453 *****
>>  > 1718    1071    crit no  process  process 453 received a fatal signal
>>  > 1718    1072    crit no  process  contract empty
>>  >
>>  >
>>  > BTW if I change my method so that it only launches a single daemon
>>  > then killing this process results in the service being restarted.
>>
>>    It sounds like PID 455 isn't dying from the signal.  Instead it is
>>    voluntarily exiting after receiving the signal.  This cannot be
>>    detected by the kernel, and therefore won't result in a contract
>>    event.
> 
> What you say is true, the daemon (in.iked in this case) does trap the signal
> and exit, but if the only daemon to be started from this service is in.iked
> then killing it does cause the service to be restarted. If this is wrong
> then I need to modify in.iked so that it behaves correctly.
That's because the last member of the contract exited and an empty event 
was generated. The service is supposed to be restarted in case the last 
process exited.
When you have two deamons running and kill one, no event is generated 
because the signal is handled (events are sent by the kernel) and the 
contract still has processes in it.

-Antonello




Reply via email to