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, [EMAIL PROTECTED] wrote:

James Berry <[EMAIL PROTECTED]> 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


_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to