Re: system(3) semantics when SIGCHLD is SIG_IGN'd

2023-08-12 Thread Taylor R Campbell
> 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

Re: system(3) semantics when SIGCHLD is SIG_IGN'd

2023-08-12 Thread Mouse
> 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

Re: epoll exposure

2023-08-12 Thread Christos Zoulas
1. This was committed to HEAD and not to a release branch. HEAD is supposed to contain some experimental features so that we can verify that things work correctly. Now that it has been backed out, we'll never know. 2. Nobody has given an example of an application that breaks, or answered

Re: epoll exposure

2023-08-12 Thread Greg Troxel
nia writes: > On Fri, Aug 11, 2023 at 06:52:41PM -, Christos Zoulas wrote: >> I see that you removed with without further discussion which is not the >> way we do things on NetBSD. Do you have an example where the epoll emulation >> breaks, because either forking matters or the implementation

Re: epoll exposure

2023-08-12 Thread nia
On Fri, Aug 11, 2023 at 06:52:41PM -, Christos Zoulas wrote: > I see that you removed with without further discussion which is not the > way we do things on NetBSD. Do you have an example where the epoll emulation > breaks, because either forking matters or the implementation is > incorrect/dif

Re: system(3) semantics when SIGCHLD is SIG_IGN'd

2023-08-12 Thread Rhialto
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

system(3) semantics when SIGCHLD is SIG_IGN'd

2023-08-12 Thread Taylor R Campbell
What should system(3) do when the signal action for SIGCHLD is SIG_IGN, or has SA_NOCLDWAIT set? Setting SIGCHLD to SIG_IGN has the effect of reaping zombie children automatically, so that calling wait(2) is unnecessary to reap them -- and, further, doesn't return _at all_ until the last child ha