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: