daemondo is not restarting processes that die

James Berry jberry at macports.org
Wed Oct 24 06:15:32 PDT 2007


Mark, and others:

In r30313 I've modified daemondo to use kqueue/kevent to watch for the  
death of the targeted process. This should catch the situation where  
we're watching for a grandchild process, for which we don't receive  
child death notices.

Let me know if this helps.

James

Checkin notes:

Improve Daemondo to use kqueue/kevent to watch for the death of the  
target
process. Previously Daemondo relied on child death signals, which are  
given
only for direct offspring, and not grandchildren, etc. The use of the  
kevents
now gives notice when the targetted process is not direct offspring.

Note: these changes may introduce compatibility issues for Panther, or  
even
Tiger, since I have not yet tested in those environments. They may  
also introduce
compilation problems on platforms for which there is no kqueue support  
at all.
Bug reports are welcome.


On Oct 22, 2007, at 7:36 PM, markd at macports.org wrote:

> James Berry <jberry at macports.org> writes:
>> I'll have to look at the Daemondo code again. I'm not sure whether it
>> will get a child death notice for a script that it didn't start
>> directly, and this may be the problem in the case that you describe.
>>
>> Looking...
>
> Thanks James, I appreciate it.  If it can't do that the docs will need
> updated because I thought it would.  But I guess I was supposing that
> daemondo monitored the process by looking at the pidfile; if it has to
> passively receive a death notice I can see how that might not work.   
> Would
> actively monitoring daemons (for non-executable startupitems) be too
> expensive?  It seems like it has most of the logic to do it based on  
> the
> way it started multiple processes when the pidfile wasn't located
> correctly.  It seems like having it check once in awhile after it is
> running wouldn't be to much of a stretch.  But then you know what they
> say, the less you know about something, the easier it seems.  :)
>
> Mark
>



More information about the macports-dev mailing list