int sigexit(pid_t pid, int signum)
The implementation would add a new linked list to the task struct which would
store pid/signal tuples for each process requesting notification. On process
death, in do_notify_parent we walk the list and send the specified signals to
all the listeners.
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). The watcher could keep a
persistant list of what its monitoring and what for in a file, and if it ever
died, the new watcher could scan the list and register to watch them all again.
The second would be to enable mutual suicide pacts between processes. (I'm not
sure when I would use this, but it sounds kind of fun.)
Anyone have any opinions on this? There is a comment in exit_notify about not
sending signals to arbitrary processes using the thread signals, but I'm not
sure if that objection was to the idea or to the implementation.
Thanks,
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/