From 44cff77b95104cc99ea5625df6ebe8adfa3f4a22 Mon Sep 17 00:00:00 2001 From: usa Date: Fri, 18 Nov 2011 04:06:01 +0000 Subject: * io.c (rb_cloexec_open): set O_NOINHERIT instead of O_CLOEXEC if it is available (for Windows). * win32/win32.c (fcntl): on F_DUPFD, determine the inheritance of the new handle by O_NOINHERIT flag of original fd. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'io.c') diff --git a/io.c b/io.c index 0a4c21b225..6f3cc2ee59 100644 --- a/io.c +++ b/io.c @@ -195,6 +195,8 @@ rb_cloexec_open(const char *pathname, int flags, mode_t mode) #ifdef O_CLOEXEC /* O_CLOEXEC is available since Linux 2.6.23. Linux 2.6.18 silently ignore it. */ flags |= O_CLOEXEC; +#elif defined O_NOINHERIT + flags |= O_NOINHERIT; #endif ret = open(pathname, flags, mode); if (ret == -1) return -1; -- cgit v1.2.3