Merge "NativeHandle.java: dup() with O_CLOEXEC"

This commit is contained in:
Treehugger Robot
2018-12-18 18:36:35 +00:00
committed by Gerrit Code Review

View File

@@ -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();