diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-11-08 21:00:15 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-11-08 21:00:15 +0000 |
commit | 0ebd391ce1013860ddada1f9e44acf9a2e9e99d1 (patch) | |
tree | 77a7d7bb69d4227eaead2942485b68b5db2ef3ec /libjava | |
parent | 663ac2be9bed43e6eac368be44c7caa80b221ad4 (diff) | |
download | gcc-0ebd391ce1013860ddada1f9e44acf9a2e9e99d1.tar.gz |
PR libgcj/23763. From aeby@graeff.com.
* java/lang/natPosixProcess.cc (nativeSpawn): Unblock SIGCHLD
before exec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106655 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/java/lang/natPosixProcess.cc | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d9853c5ab54..cceea20f5ca 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2005-11-08 Tom Tromey <tromey@redhat.com> + + PR libgcj/23763. From aeby@graeff.com. + * java/lang/natPosixProcess.cc (nativeSpawn): Unblock SIGCHLD + before exec. + 2005-11-08 Mark Wielaard <mark@klomp.org> * scripts/makemake.tcl: Set package gnu/javax/sound/midi to bc. diff --git a/libjava/java/lang/natPosixProcess.cc b/libjava/java/lang/natPosixProcess.cc index cca768b6c6f..9a6c3218d4d 100644 --- a/libjava/java/lang/natPosixProcess.cc +++ b/libjava/java/lang/natPosixProcess.cc @@ -1,6 +1,6 @@ // natPosixProcess.cc - Native side of POSIX process code. -/* Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005 Free Software Foundation This file is part of libgcj. @@ -345,6 +345,12 @@ java::lang::ConcreteProcess::nativeSpawn () } } + // Make sure that SIGCHLD is unblocked for the new process. + sigset_t mask; + sigemptyset (&mask); + sigaddset (&mask, SIGCHLD); + sigprocmask (SIG_UNBLOCK, &mask, NULL); + execvp (args[0], args); // Send the parent notification that the exec failed. |