summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nick Kralevich <nnk@google.com> 2018-12-18 11:46:53 -0800
committer android-build-merger <android-build-merger@google.com> 2018-12-18 11:46:53 -0800
commit558bf263770e154927c4fe827c605af29da24def (patch)
treedc5d3d7ebb76caf171dcdc83dae2c1f226cd3153
parent5ee229c96f6b92c6491221f4446a1d4f29dc036d (diff)
parentd5a101dd7f5a3574d6c0abf28338b87655a5a3a5 (diff)
Merge "NativeHandle.java: dup() with O_CLOEXEC" am: 760e074e50
am: d5a101dd7f Change-Id: If4b615a9a2d35d4f9c294bffa470fe6aed90a9f6
-rw-r--r--core/java/android/os/NativeHandle.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/android/os/NativeHandle.java b/core/java/android/os/NativeHandle.java
index fbecc8ec1cd9..f7ffc37f085f 100644
--- a/core/java/android/os/NativeHandle.java
+++ b/core/java/android/os/NativeHandle.java
@@ -16,6 +16,8 @@
package android.os;
+import static android.system.OsConstants.F_DUPFD_CLOEXEC;
+
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.system.ErrnoException;
@@ -108,7 +110,10 @@ public final class NativeHandle implements Closeable {
FileDescriptor[] fds = new FileDescriptor[mFds.length];
try {
for (int i = 0; i < mFds.length; i++) {
- fds[i] = Os.dup(mFds[i]);
+ FileDescriptor newFd = new FileDescriptor();
+ int fdint = Os.fcntlInt(mFds[i], F_DUPFD_CLOEXEC, 0);
+ newFd.setInt$(fdint);
+ fds[i] = newFd;
}
} catch (ErrnoException e) {
e.rethrowAsIOException();