public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Chris Friesen <cfriesen@nortelnetworks.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [RFC]  new syscall to allow notification when arbitrary pids die
Date: Sat, 10 May 2003 02:29:54 -0400	[thread overview]
Message-ID: <3EBC9C62.5010507@nortelnetworks.com> (raw)


I would like to get some comments on a new syscall that I am planning on 
implementing.  This syscall would allow a process to register to be notified 
when another process dies.  The calling process would specify the pid of the 
process in which it is interested and the signal which it wants to be sent when 
the process with the specified pid dies.  The api would be:

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


             reply	other threads:[~2003-05-10  6:17 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-10  6:29 Chris Friesen [this message]
2003-05-10  7:38 ` [RFC] new syscall to allow notification when arbitrary pids die Muli Ben-Yehuda
2003-05-12  3:26   ` Chris Friesen
2003-05-12  3:32     ` Doug McNaught
2003-05-12  3:42       ` Posible memory leak!? Boris Kurktchiev
2003-05-12 11:17         ` Boris Kurktchiev
     [not found]           ` <200305131158.h4DBw2u30860@Port.imtp.ilyichevsk.odessa.ua>
2003-05-13 18:17             ` Boris Kurktchiev
2003-05-12 18:06         ` Greg KH
2003-05-12  4:33       ` [RFC] new syscall to allow notification when arbitrary pids die Chris Friesen
2003-05-12 13:23         ` Doug McNaught
2003-05-12 14:07           ` Chris Friesen
2003-05-12  3:53     ` Frank Cusack

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EBC9C62.5010507@nortelnetworks.com \
    --to=cfriesen@nortelnetworks.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox