Re: [PATCH] libfortran/90038 Reap dead children when wait=.false.

2019-05-19 Thread Janne Blomqvist
On Sun, May 19, 2019 at 9:26 PM Steve Kargl wrote: > > On Sun, May 19, 2019 at 09:10:57PM +0300, Janne Blomqvist wrote: > > On Sun, May 19, 2019 at 7:15 PM Steve Kargl > > wrote: > > > > > > On Sun, May 19, 2019 at 01:40:59PM +0300, Janne Blomqvist wrote: > > > > > > > > +#if defined(HAVE_SIGACTI

Re: [PATCH] libfortran/90038 Reap dead children when wait=.false.

2019-05-19 Thread Steve Kargl
On Sun, May 19, 2019 at 09:10:57PM +0300, Janne Blomqvist wrote: > On Sun, May 19, 2019 at 7:15 PM Steve Kargl > wrote: > > > > On Sun, May 19, 2019 at 01:40:59PM +0300, Janne Blomqvist wrote: > > > > > > +#if defined(HAVE_SIGACTION) && defined(HAVE_WAITPID) > > > + static bool sig_init_saved

Re: [PATCH] libfortran/90038 Reap dead children when wait=.false.

2019-05-19 Thread Janne Blomqvist
On Sun, May 19, 2019 at 7:15 PM Steve Kargl wrote: > > On Sun, May 19, 2019 at 01:40:59PM +0300, Janne Blomqvist wrote: > > > > +#if defined(HAVE_SIGACTION) && defined(HAVE_WAITPID) > > + static bool sig_init_saved; > > + bool sig_init = __atomic_load_n (&sig_init_saved, __ATOMIC_RELAXED

Re: [PATCH] libfortran/90038 Reap dead children when wait=.false.

2019-05-19 Thread Steve Kargl
On Sun, May 19, 2019 at 01:40:59PM +0300, Janne Blomqvist wrote: > > +#if defined(HAVE_SIGACTION) && defined(HAVE_WAITPID) > + static bool sig_init_saved; > + bool sig_init = __atomic_load_n (&sig_init_saved, __ATOMIC_RELAXED); > + if (!sig_init) > + { > + struct sigactio

[PATCH] libfortran/90038 Reap dead children when wait=.false.

2019-05-19 Thread Janne Blomqvist
When using posix_spawn or fork to launch a child process, the parent needs to wait for the child, otherwise the dead child is left as a zombie process. For this purpose one can install a signal handler for SIGCHLD. 2019-05-19 Janne Blomqvist PR libfortran/90038 * intrinsics/exe