Re: linux bug in pclose

Daniel Roche (dan@apolline.lectra.fr)
Mon, 15 Jul 1996 17:48:26 GMT


>
> >More, it may be annoying that the linux wait() have now a different
> >behavior than number of other unixes ( Solaris, SunOS, Aix , SVR4 ) .
>
> Actually this is not the case.
> Other unixes do not discard any pending SIGCHLD signals either, as far
> as I know.
>
It is !, just compile the little test program, it works on Solaris, SUNos,
Aix, SVR4 and it does not on Linux 2.0.5 !!

> I still think the new behaviour is better.
> Consider the following
>
> program sets up handler for SIGCHLD
> and creates some child processes
>
> now it calls, for some odd reason, system("sleep 15")
>
> under linux < 2.0.1, any children that exit during the system() call are
> lost! (the signal handler never gets activated)

I also find better not to discard SIGCHLD during system() !
But what seems to be strange, is that the pclose hang in the
sighandler wait() until ANOTHER process finish !

-- 
===============================================================================
|                               _                  |       dan@lectra.fr      |
|  __/ _    _  o  _   /        /_) _   _  /  _     |                          |
| (_/ (_(_ / ) ( (-' /        /\  (_) (_ /) (-'    |  May the source be with  |
|                                                  |            you  !!       |
===============================================================================