diff options
Diffstat (limited to 'libjava/java/net')
-rw-r--r-- | libjava/java/net/natPlainDatagramSocketImpl.cc | 5 | ||||
-rw-r--r-- | libjava/java/net/natPlainSocketImpl.cc | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc index 628ac62..81e17cc 100644 --- a/libjava/java/net/natPlainDatagramSocketImpl.cc +++ b/libjava/java/net/natPlainDatagramSocketImpl.cc @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation +/* Copyright (C) 1999, 2000, 2002 Free Software Foundation This file is part of libgcj. @@ -185,6 +185,9 @@ java::net::PlainDatagramSocketImpl::create () char* strerr = strerror (errno); throw new java::net::SocketException (JvNewStringUTF (strerr)); } + + _Jv_platform_close_on_exec (sock); + fnum = sock; fd = new java::io::FileDescriptor (sock); } diff --git a/libjava/java/net/natPlainSocketImpl.cc b/libjava/java/net/natPlainSocketImpl.cc index 99eb80b..dd8d2ccd 100644 --- a/libjava/java/net/natPlainSocketImpl.cc +++ b/libjava/java/net/natPlainSocketImpl.cc @@ -232,6 +232,9 @@ java::net::PlainSocketImpl::create (jboolean stream) char* strerr = strerror (errno); throw new java::io::IOException (JvNewStringUTF (strerr)); } + + _Jv_platform_close_on_exec (sock); + fnum = sock; fd = new java::io::FileDescriptor (sock); } @@ -374,6 +377,9 @@ java::net::PlainSocketImpl::accept (java::net::PlainSocketImpl *s) new_socket = _Jv_accept (fnum, (sockaddr*) &u, &addrlen); if (new_socket < 0) goto error; + + _Jv_platform_close_on_exec (new_socket); + jbyteArray raddr; jint rport; if (u.address.sin_family == AF_INET) |