Bob Netherton wrote: > O >>> If his stop method succeeds, SMF sees (through the contract) that he >>> lied, and kills his daemon off anyway. >>> If his stop method fails, SMF whines about it. >>> If his stop method doesn't return (and assuming that he's disabled >>> timeout), then it blocks the shutdown. >> Correct. > > Why not make the stop method a little more intelligent so that it > doesn't block forever ? Maybe the event daemon (or whatever > the troublesome process) needs to run in a separate contract to > decouple it a bit from SMF, but a little more massaging of the > stop method might be the ticket.
That'd probably work - basically, making the event daemon be a transient service, as far as SMF knows - but: 1) Loses SMF health monitoring. 2) Doesn't seem very SMFish.