DragonFly BSD
DragonFly bugs List (threaded) for 2012-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

[DragonFlyBSD - Bug #2349] fork() after signal(SIGCHLD, SIG_IGN) produces zombies

From: Matthias Rampke via Redmine <bugtracker-admin@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 17 Apr 2012 14:42:31 -0700

Issue #2349 has been updated by Matthias Rampke.

File dragonfly-SIGCHLD.patch added
% Done changed from 0 to 50

Here's a patch against master I cargoculted from FreeBSD-current, taking the patches in that old thread as pointers. The kernel boots and works for me and the test case no longer generates zombie processes.
Bug #2349: fork() after signal(SIGCHLD, SIG_IGN) produces zombies

Author: Matthias Rampke
Status: New
Priority: Normal
Target version: 

The code in the attached zombifier.c makes every exiting child into a zombie on master[1]. This doesn't happen on any non-DragonFly system I could test it on, and from what I gather from this discussion[2] and what Wikipedia says about SUSv3/POSIX-1.2001 the correct behaviour is not to keep them around if the SIGCHLD handler is explicitly set to SIG_IGN.

This has realworldly bitten me because the FCGI-to-CGI-wrapper I use[4] relies on this behaviour and I couldn't SSH into my server as a non-root user due to PID exhaustion.

[1] DragonFly zz.2pktfkt.net 3.1-DEVELOPMENT DragonFly v3.1.0.545.g4c42b-DEVELOPMENT #6: Tue Apr 17 21:24:31 CEST 2012     matthias@zz.2pktfkt.net:/usr/obj/usr/src/sys/X86_64_GENERIC  x86_64
[2] http://markmail.org/message/3s4jj7dpgw34yvmh
[3] http://en.wikipedia.org/wiki/Zombie_process
[4] http://pkgsrc.se/wip/fcgiwrap

You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]