[Xfce4-commits] r19323 - libxfcegui4/trunk/libxfcegui4

Brian J. Tarricone bjt23 at cornell.edu
Sat Jan 7 11:02:42 CET 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 1/7/2006 2:00 AM, Jasper Huijsmans wrote:
> Brian J. Tarricone schreef:
> 
>>On 1/7/2006 1:33 AM, Jasper Huijsmans wrote:
>>
>>>Brian J. Tarricone schreef:
>>>...
>>>
>>>
>>>>>SIGCHLD is ignored by default, isn't it?
>>>>
>>>>Nope.
>>>
>>>Hmm, according to the glibc info page, it is.
>>
>>Then it lies.  Try this awesome little one-liner:
>>
>>void main() { switch(fork()) { case -1: exit(1); case 0: _exit(0);
>>default: while(1); } }
>>
>>Run it, and you'll see that a zombie is left.  At least it is on my box
>>(glibc 2.3.5).  I get this:
>>
>>brian at kelnos ~ $ ./testsigchld &
>>[1] 17421
>>brian at kelnos ~ $ ps
>>  PID TTY          TIME CMD
>>17312 pts/1    00:00:00 bash
>>17421 pts/1    00:00:00 testsigchld
>>17422 pts/1    00:00:00 testsigchld <defunct>
>>17423 pts/1    00:00:00 ps
> 
> That is exactly because SIGCHLD is not handled, or am I missing something?

"Not handled" and "ignored" aren't the same thing.  "Not handled" (the
default) will leave zombies when the children exit, but "ignored" (via
signal(SIGCHLD, SIG_IGN)) won't.

> I thought Danny added a callback, because SIGCHLD would stop the 
> program. Did I read that wrong?

SIGCHLD shouldn't stop the parent.  IIRC, if you don't handle it, you
just get zombie children.

	-b

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)

iD8DBQFDv5HC6XyW6VEeAnsRAikqAKCuV1I81IWYVgq3n0M+0Hd9luREfwCdGmrg
0mIseVHhZMl15Xb9oAuD4Fo=
=Xi13
-----END PGP SIGNATURE-----



More information about the Xfce4-dev mailing list