diff options
| author | 2018-12-18 11:46:53 -0800 | |
|---|---|---|
| committer | 2018-12-18 11:46:53 -0800 | |
| commit | 558bf263770e154927c4fe827c605af29da24def (patch) | |
| tree | dc5d3d7ebb76caf171dcdc83dae2c1f226cd3153 | |
| parent | 5ee229c96f6b92c6491221f4446a1d4f29dc036d (diff) | |
| parent | d5a101dd7f5a3574d6c0abf28338b87655a5a3a5 (diff) | |
Merge "NativeHandle.java: dup() with O_CLOEXEC" am: 760e074e50
am: d5a101dd7f
Change-Id: If4b615a9a2d35d4f9c294bffa470fe6aed90a9f6
| -rw-r--r-- | core/java/android/os/NativeHandle.java | 7 |
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(); |