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. David