Re: [PATCH 0/6] CLONE_FD: Task exit notification via file descriptor

From: josh
Date: Fri Mar 13 2015 - 17:46:09 EST


On Fri, Mar 13, 2015 at 02:33:44PM -0700, Andy Lutomirski wrote:
> On Fri, Mar 13, 2015 at 12:42 PM, Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote:
> > On Fri, Mar 13, 2015 at 04:05:29PM +0000, David Drysdale wrote:
> >> On Fri, Mar 13, 2015 at 1:40 AM, Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote:
> >> > This patch series introduces a new clone flag, CLONE_FD, which lets the caller
> >> > handle child process exit notification via a file descriptor rather than
> >> > SIGCHLD. CLONE_FD makes it possible for libraries to safely launch and manage
> >> > child processes on behalf of their caller, *without* taking over process-wide
> >> > SIGCHLD handling (either via signal handler or signalfd).
> >>
> >> Hi Josh,
> >>
> >> From the overall description (i.e. I haven't looked at the code yet)
> >> this looks very interesting. However, it seems to cover a lot of the
> >> same ground as the process descriptor feature that was added to FreeBSD
> >> in 9.x/10.x:
> >> https://www.freebsd.org/cgi/man.cgi?query=pdfork&sektion=2
> >
> > Interesting.
> >
> >> I think it would ideally be nice for a userspace library developer to be
> >> able to do subprocess management (without SIGCHLD) in a similar way
> >> across both platforms, without lots of complicated autoconf shenanigans.
> >>
> >> So could we look at the overlap and seeing if we can come up with
> >> something that covers your requirements and also allows for something
> >> that looks like FreeBSD's process descriptors?
> >
> > Agreed; however, I think it's reasonable to provide appropriate Linux
> > system calls, and then let glibc or libbsd or similar provide the
> > BSD-compatible calls on top of those. I don't think the kernel
> > interface needs to exactly match FreeBSD's, as long as it's a superset
> > of the functionality.
>
> We need to be careful with things like read(2), though. It's hard to
> write a glibc function that makes read(2) do something other than what
> the kernel thinks. Similarly, poll(2) is defined by the kernel. It
> would be really nice to be consistent here.

It doesn't sound like FreeBSD implements read(2) on the pdfork file
descriptor at all. If it does, yes, we're not going to be able to be
compatible with that.

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