Re: [RFC] new syscall to allow notification when arbitrary pids die

Chris Friesen (cfriesen@nortelnetworks.com)
Sun, 11 May 2003 23:26:06 -0400


Muli Ben-Yehuda wrote:
> On Sat, May 10, 2003 at 02:29:54AM -0400, Chris Friesen wrote:
>
>
>>I see two immediate uses for this. One would be to enable a "watcher"
>>process which can do useful things on the death of processes which
>>registered with it (logging, respawning, notifying other processes,
>>etc).
>>
>
> Do it from user space, kill(pid, 0), check for ESRCH. I might see the
> benefit of a new system call if it was synchronous (wait() semantics),
> but since signal delivery is asynch anyway....

Exactly. I don't want to explicitly poll each process being monitored to see if
it is still alive. That solution doesn't scale well--what happens when you are
monitoring 5000 processes and you want to make sure that you catch them within a
certain amount of time? You end up spending a lot of cpu time doing the monitoring.

> There's already a well established way to do what you want (get
> non-immediate notification of process death). What benefit would your
> approach give?

Its cheaper and faster. It only costs a single call for each process, and then
you get notified immediately when it dies.

Chris

-- 
Chris Friesen                    | MailStop: 043/33/F10
Nortel Networks                  | work: (613) 765-0557
3500 Carling Avenue              | fax:  (613) 765-2986
Nepean, ON K2H 8E9 Canada        | email: cfriesen@nortelnetworks.com

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/