Bug#585504: gnome-session relies on default SIGCHLD handler but does not set it explicitly

Daniel Kahn Gillmor dkg at fifthhorseman.net
Fri Jun 11 05:36:56 UTC 2010


Package: gnome-session
Version: 2.30.0-1
Severity: normal

gnome-session relies on the default SIGCHLD behavior to get the
results of waitpid() relatively early in its launch.

However, it never explicitly demands the default handler.  So if it is
exec'ed from a process which has opted to ignore SIGCHLD, and it
inherits that ignore, it will run forever in a tight waitpid() loop
(according to strace).

So somewhere early in its existence, gnome-session should explicitly
demand the default signal handler for SIGCHLD.

(yes, processes exec'ing gnome-session should probably not ask for
SIGCHLD to be ignored, but not every process can predict what it will
be exec'ing.  Since gnome-session relies on the default behavior, and
can tell when SIGCHLD would be ignored, gnome-session should
explicitly request the default behavior from the system)

       --dkg

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing'), (200, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash






More information about the pkg-gnome-maintainers mailing list