On Fri, Jun 01, 2007 at 10:01:10AM -0700, David Bustos wrote:

> Quoth John Levon on Wed, May 30, 2007 at 11:20:13PM +0100:
> > We've noticed that if a start method returns 1, then the processes in the
> > contract are not killed (the contract is just orphaned). Is this the 
> > intended
> > behaviour? I've failed to find documentation indicating that methods are
> > expected to call smf_kill_contract() in this case.
> > 
> > When our service ends up in maintenance we end up with three copies of the
> > daemon running...
> 
> This should only happen if you declared the service to be transient.
> For contract services, we go into 'assured kill' mode, where we SIGKILL
> the contract once a second until it's empty.  See method_run(), I think.

The assured kill only seems to apply to stop methods, and is skipped anyway if
the exit code is non-zero. Does this code need a judiciously-placed
contract_kill() call?

regards,
john

Reply via email to