diff options
author | David Daney <ddaney@avtrex.com> | 2007-03-23 00:06:41 +0000 |
---|---|---|
committer | David Daney <daney@gcc.gnu.org> | 2007-03-23 00:06:41 +0000 |
commit | 46ecc2bc5c8455615f9739847277cbc5fe746c25 (patch) | |
tree | c1ef9bb4fb3b4432ae7bce87707fc879e3e8af77 /libjava/include | |
parent | 92ef5cf99970d490ebdd508c774b86bd4a821887 (diff) | |
download | gcc-46ecc2bc5c8455615f9739847277cbc5fe746c25.zip gcc-46ecc2bc5c8455615f9739847277cbc5fe746c25.tar.gz gcc-46ecc2bc5c8455615f9739847277cbc5fe746c25.tar.bz2 |
re PR libgcj/31228 (Race condition between setting close-on-exec and Runtime.exec())
PR libgcj/31228
* configure.ac: Add checks for getrlimit and sys/resource.h.
* include/posix.h (_Jv_platform_close_on_exec): Remove.
* include/config.h.in: Regenerate.
* configure: Regenerate.
* gnu/java/nio/channels/natFileChannelPosix.cc (open): Remove call to
_Jv_platform_close_on_exec;
* gnu/java/net/natPlainSocketImplPosix.cc (create): Likewise.
(accept): Likewise.
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (create):Likewise.
* java/lang/natPosixProcess.cc: Include sys/resource.h.
(nativeSpawn): Close all file descriptors. Don't set FD_CLOEXEC on
pipes.
From-SVN: r123138
Diffstat (limited to 'libjava/include')
-rw-r--r-- | libjava/include/config.h.in | 6 | ||||
-rw-r--r-- | libjava/include/posix.h | 9 |
2 files changed, 6 insertions, 9 deletions
diff --git a/libjava/include/config.h.in b/libjava/include/config.h.in index 2c025a2..f0919e2 100644 --- a/libjava/include/config.h.in +++ b/libjava/include/config.h.in @@ -127,6 +127,9 @@ /* Define to 1 if you have the `getpwuid_r' function. */ #undef HAVE_GETPWUID_R +/* Define to 1 if you have the `getrlimit' function. */ +#undef HAVE_GETRLIMIT + /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY @@ -316,6 +319,9 @@ /* Define to 1 if you have the <sys/ioctl.h> header file. */ #undef HAVE_SYS_IOCTL_H +/* Define to 1 if you have the <sys/resource.h> header file. */ +#undef HAVE_SYS_RESOURCE_H + /* Define to 1 if you have the <sys/rw_lock.h> header file. */ #undef HAVE_SYS_RW_LOCK_H diff --git a/libjava/include/posix.h b/libjava/include/posix.h index ee836e0..5f522a3 100644 --- a/libjava/include/posix.h +++ b/libjava/include/posix.h @@ -98,15 +98,6 @@ extern jlong _Jv_platform_nanotime (); extern void _Jv_platform_initialize (void); extern void _Jv_platform_initProperties (java::util::Properties*); -inline void -_Jv_platform_close_on_exec (jint fd) -{ - // Ignore errors. - ::fcntl (fd, F_SETFD, FD_CLOEXEC); -} - -#undef fcntl - #ifdef JV_HASH_SYNCHRONIZATION #ifndef HAVE_USLEEP_DECL extern "C" int usleep (useconds_t useconds); |