Subject: pkg/22483: GNOME starts programs with all signals blocked
To: None <gnats-bugs@gnats.netbsd.org>
From: None <tjg@star.le.ac.uk>
List: netbsd-bugs
Date: 08/14/2003 14:23:10
>Number: 22483
>Category: pkg
>Synopsis: GNOME starts programs with all signals blocked
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Aug 14 14:24:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Tim Goodwin
>Release: NetBSD 1.6W
>Organization:
University of Leicester
>Environment:
System: NetBSD rocinante 1.6W NetBSD 1.6W (GENERIC) #1: Wed Aug 13 15:12:07 BST 2003 tjg@rocinante:/usr/bld/obj/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
recent versions of GNOME 2 start programs with all signals blocked. For terminal
applications (gnome2-terminal, xterm, etc.) this is disastrous if the user's shell fails
to reset the signal mask (e.g. /bin/sh); child processes cannot receive signals.
>How-To-Repeat:
Log in with the GNOME desktop and a shell other than csh.
Here's a program that reports the current signal mask.
#include <signal.h>
int main(void) {
int i;
sigset_t oset;
sigprocmask(0, 0, &oset);
for (i = 1; i < 16; ++i)
printf("%d %d\n", i, sigismember(&oset, i));
}
Here's its output under the broken combination (GNOME + non-csh shell):
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 0
10 1
11 1
12 1
13 1
14 1
15 1
The correct output (if your shell is csh, or your not using
the GNOME desktop) has `0' for all entries in the second
column.
>Fix:
Unfortunately not known: I'm not familiar enough with the
architecture of GNOME to know where to look for this.
>Release-Note:
>Audit-Trail:
>Unformatted: