On Fri, Feb 8, 2013 at 5:05 PM, Lennart Poettering <lennart@xxxxxxxxxxxxxx> wrote: > On Fri, 08.02.13 10:35, Michael Kerrisk (man-pages) (mtk.manpages@xxxxxxxxx) wrote: > >> >> Shawn, Lennart, Kay, >> >> On Wed, Feb 6, 2013 at 7:33 PM, Shawn Landden <shawnlandden@xxxxxxxxx> wrote: >> > Signed-off-by: Shawn Landden <shawnlandden@xxxxxxxxx> >> > --- >> > man2/prctl.2 | 17 +++++++++++++++++ >> > 1 file changed, 17 insertions(+) >> > >> > diff --git a/man2/prctl.2 b/man2/prctl.2 >> > index e4a1030..fd78f48 100644 >> > --- a/man2/prctl.2 >> > +++ b/man2/prctl.2 >> > @@ -379,6 +379,23 @@ if the kernel is configured with >> > .B CONFIG_SECCOMP >> > enabled. >> > .TP >> > +.BR PR_SET_CHILD_SUBREAPER " (since Linux 3.3)" >> > +Designates this process as a service manager for its' (immediate and >> > +indirect) offspring processes. Any process whose immediate parent >> > +dies and whose ancestry includes a process where this flag is set will >> > +be reparented to the closest process with this flag set, instead of PID >> > +1. A 'subreaper' hence receives >> > +.B SIGHCLD >> > +signals for any orphaned >> > +offspring processes, that otherwise would be received by >> > +.BR init (8). >> > +.TP >> > +.BR PR_GET_CHILD_SUBREAPER " (since Linux 3.3)" >> > +Returns whether calling process is a child subreaper (see >> > +.BR PR_SET_CHILD_SUBREAPER ), >> > +in the location pointed to by >> > +.IR "(int\ *) arg2" . >> > +.TP >> > .BR PR_SET_SECUREBITS " (since Linux 2.6.26)" >> > Set the "securebits" flags of the calling thread to the value supplied in >> > .IR arg2 . >> >> Shawn, there was some imprecision in your patch. I've instead come up >> with an alternative. >> >> Kay, Lennart, is the following correct? >> >> PR_SET_CHILD_SUBREAPER (since Linux 3.4) >> If arg2 is nonzero, set the "child subreaper" attribute >> of the calling process; if arg2 is zero, unset the >> attribute. When a process is marked as a child sub‐ >> reaper, all of the children that it creates, and their >> descendants, will be marked as having a subreaper. in >> effect, a subreaper fulfills the role of init(1) for its >> descendant processes. Upon termination of a process >> that is orphaned (i.e., its immediate parent has already >> terminated) and marked as having a subreaper, the near‐ >> est still living ancestor subreaper will receive a >> SIGCHLD signal and be able to wait(2) on the process to >> diiscover its termination status. >> >> PR_GET_CHILD_SUBREAPER (since Linux 3.4) >> Return the "child subreaper" setting of the caller, in >> the location pointed to by (int *) arg2. >> > > Sounds good to me! Though s/in/In/ once in there. Thanks. Fixed. > Thanks for putting this together, sorry for never having done this > myself. You'll do better next time, right ;-) Cheers, Michael -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html