On Sat, Aug 12, 2023 at 11:58:36AM +, Taylor R Campbell wrote:
> What should system(3) do when the signal action for SIGCHLD is
> SIG_IGN, or has SA_NOCLDWAIT set?
> [...]
My suggestion would be invent a new working mechanism for disowning
children and banish the mess to COMPAT_POSIX_MISTAK
> Date: Sun, 13 Aug 2023 13:03:09 +0200
> From: Rhialto
>
> On Sat 12 Aug 2023 at 11:58:36 +, Taylor R Campbell wrote:
> > Cons:
> > - POSIX doesn't ask system(3) to work when SIGCHLD is set to SIG_IGN
> > or when it has SA_NOCLDWAIT set, so this code is nonportable anyway;
>
> I read thro
On Sat 12 Aug 2023 at 11:58:36 +, Taylor R Campbell wrote:
> Cons:
> - POSIX doesn't ask system(3) to work when SIGCHLD is set to SIG_IGN
> or when it has SA_NOCLDWAIT set, so this code is nonportable anyway;
I read through
https://pubs.opengroup.org/onlinepubs/007908799/xsh/system.html and
> Date: Sat, 12 Aug 2023 22:48:05 -0400 (EDT)
> From: Mouse
>
> > If the calling process has SA_NOCLDWAIT set or has SIGCHLD set to
> > SIG_IGN, [...]
>
> Check my understanding: this applies to wait(2), but not alternatives
> like waitpid(2) or wait4(2), right?
If you read all the way
> What should system(3) do when the signal action for SIGCHLD is
> SIG_IGN, or has SA_NOCLDWAIT set?
Exec GNU emacs running the Towers of Hanoi? :-)
Figuring out whether you (=NetBSD) want it to "work" is, it seems to
me, the first priority. I'm not sure where I fall on that question.
On the one
On Sat 12 Aug 2023 at 11:58:36 +, Taylor R Campbell wrote:
> So if a process already has a child, and calls system(3) as it is
> currently implemented in libc in ~all versions of NetBSD, system(3)
> will hang indefinitely until the existing child exits.
I thought of a strategy that doesn't see