* win32/win32.c (rb_w32_accept, rb_w32_socket, rb_w32_socketpair):

prohibit inheritance of sockets, too. [experimental]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2008-07-11 07:18:29 +00:00
parent e9db21d9cf
commit 4532c0d81e
2 changed files with 11 additions and 4 deletions

View file

@ -2269,7 +2269,7 @@ rb_w32_accept(int s, struct sockaddr *addr, int *addrlen)
s = -1;
}
else {
s = rb_w32_open_osfhandle(r, O_RDWR|O_BINARY);
s = rb_w32_open_osfhandle(r, O_RDWR|O_BINARY|O_NOINHERIT);
}
});
return s;
@ -2568,7 +2568,7 @@ rb_w32_socket(int af, int type, int protocol)
fd = -1;
}
else {
fd = rb_w32_open_osfhandle(s, O_RDWR|O_BINARY);
fd = rb_w32_open_osfhandle(s, O_RDWR|O_BINARY|O_NOINHERIT);
}
});
return fd;
@ -2788,8 +2788,8 @@ rb_w32_socketpair(int af, int type, int protocol, int *sv)
if (socketpair_internal(af, type, protocol, pair) < 0)
return -1;
sv[0] = rb_w32_open_osfhandle(pair[0], O_RDWR|O_BINARY);
sv[1] = rb_w32_open_osfhandle(pair[1], O_RDWR|O_BINARY);
sv[0] = rb_w32_open_osfhandle(pair[0], O_RDWR|O_BINARY|O_NOINHERIT);
sv[1] = rb_w32_open_osfhandle(pair[1], O_RDWR|O_BINARY|O_NOINHERIT);
return 0;
}