[newlib-cygwin] Cygwin: open: handle O_CLOEXEC when opening file from handle
Corinna Vinschen
corinna@sourceware.org
Tue Jan 8 20:47:00 GMT 2019
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=0c545f3264aaaac3d02d3ef785a2e2e9d77ed03f
commit 0c545f3264aaaac3d02d3ef785a2e2e9d77ed03f
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Tue Jan 8 18:50:11 2019 +0100
Cygwin: open: handle O_CLOEXEC when opening file from handle
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/fhandler.cc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index 9f5e009..9af08d7 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -555,7 +555,11 @@ fhandler_base::open (int flags, mode_t mode)
/* Allow to reopen from handle. This is utilized by
open ("/proc/PID/fd/DESCRIPTOR", ...); */
if (get_handle ())
- pc.init_reopen_attr (attr, get_handle ());
+ {
+ pc.init_reopen_attr (attr, get_handle ());
+ if (!(flags & O_CLOEXEC))
+ attr.Attributes |= OBJ_INHERIT;
+ }
else
pc.get_object_attr (attr, *sec_none_cloexec (flags));
More information about the Cygwin-cvs
mailing list