aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2005-11-08 21:00:15 +0000
committerTom Tromey <tromey@gcc.gnu.org>2005-11-08 21:00:15 +0000
commit230d8ead8c85ba9068412c1773401b0f1cd44148 (patch)
tree77a7d7bb69d4227eaead2942485b68b5db2ef3ec /libjava/java
parent90b11b98141152b807f39115ccbc45a1fa4b6556 (diff)
downloadgcc-230d8ead8c85ba9068412c1773401b0f1cd44148.zip
gcc-230d8ead8c85ba9068412c1773401b0f1cd44148.tar.gz
gcc-230d8ead8c85ba9068412c1773401b0f1cd44148.tar.bz2
PR libgcj/23763. From aeby@graeff.com.
* java/lang/natPosixProcess.cc (nativeSpawn): Unblock SIGCHLD before exec. From-SVN: r106655
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/natPosixProcess.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libjava/java/lang/natPosixProcess.cc b/libjava/java/lang/natPosixProcess.cc
index cca768b6..9a6c321 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.