Messages in this thread | | | Date | Wed, 3 Feb 2010 18:49:47 +0100 | From | Lennart Poettering <> | Subject | Re: [PATCH] exit: PR_SET_ANCHOR for marking processes as reapers for child processes |
| |
On Wed, 03.02.10 23:31, Américo Wang (xiyou.wangcong@gmail.com) wrote:
> On Tue, Feb 02, 2010 at 01:04:57PM +0100, Lennart Poettering wrote: > > > >This patch adds a simple flag for each process that marks it as an > >"anchor" process for all its children and grandchildren. If a child of > >such an anchor dies all its children will not be reparented to init, but > >instead to this anchor, escaping this anchor process is not possible. A > >task with this flag set hence acts is little "sub-init". > > This will break the applictions which using 'getppid() == 1' to check > if its real parent is dead or not...
Usage of the PR_SETANCHOR flag is optional for a process. It won't break anything unless enabled. So I don't really see a problem here.
Of course, when this flag is used the behaviour is different from what traditional Unix says what happens with the children of a process when it dies. But uh, that's the whole point and that's why this flag is enabled optionally only.
Also, on a side note: code that checks if its parent process died most likely should rewritten to use PR_DEATHSIG or something like that anyway, so that it is notified about the parent dying instead of polling for it manually.
Lennart
-- Lennart Poettering Red Hat, Inc. lennart [at] poettering [dot] net http://0pointer.net/lennart/ GnuPG 0x1A015CC4 -- 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/
| |