File tree Expand file tree Collapse file tree 3 files changed +1
-25
lines changed Expand file tree Collapse file tree 3 files changed +1
-25
lines changed Original file line number Diff line number Diff line change @@ -287,22 +287,7 @@ impl File {
287287 let fd = cvt_r ( || unsafe {
288288 open ( path. as_ptr ( ) , flags, opts. mode as c_int )
289289 } ) ?;
290- let fd = FileDesc :: new ( fd) ;
291- // Currently the standard library supports Linux 2.6.18 which did not
292- // have the O_CLOEXEC flag (passed above). If we're running on an older
293- // Linux kernel then the flag is just ignored by the OS. After we open
294- // the first file, we check whether it has CLOEXEC set. If it doesn't,
295- // we will explicitly ask for a CLOEXEC fd for every further file we
296- // open, if it does, we will skip that step.
297- //
298- // The CLOEXEC flag, however, is supported on versions of macOS/BSD/etc
299- // that we support, so we only do this on Linux currently.
300- fn ensure_cloexec ( _: & FileDesc ) -> io:: Result < ( ) > {
301- Ok ( ( ) )
302- }
303-
304- ensure_cloexec ( & fd) ?;
305- Ok ( File ( fd) )
290+ Ok ( File ( FileDesc :: new ( fd) ) )
306291 }
307292
308293 pub fn file_attr ( & self ) -> io:: Result < FileAttr > {
Original file line number Diff line number Diff line change @@ -141,10 +141,6 @@ impl Socket {
141141
142142 pub fn accept ( & self , storage : * mut sockaddr , len : * mut socklen_t )
143143 -> io:: Result < Socket > {
144- // Unfortunately the only known way right now to accept a socket and
145- // atomically set the CLOEXEC flag is to use the `accept4` syscall on
146- // Linux. This was added in 2.6.28, however, and because we support
147- // 2.6.18 we must detect this support dynamically.
148144 let fd = cvt_r ( || unsafe {
149145 libc:: accept ( self . 0 . raw ( ) , storage, len)
150146 } ) ?;
Original file line number Diff line number Diff line change @@ -11,11 +11,6 @@ pub fn anon_pipe() -> io::Result<(AnonPipe, AnonPipe)> {
1111 static INVALID : AtomicBool = AtomicBool :: new ( false ) ;
1212
1313 let mut fds = [ 0 ; 2 ] ;
14-
15- // Unfortunately the only known way right now to create atomically set the
16- // CLOEXEC flag is to use the `pipe2` syscall on Linux. This was added in
17- // 2.6.27, however, and because we support 2.6.18 we must detect this
18- // support dynamically.
1914 cvt ( unsafe { libc:: pipe ( fds. as_mut_ptr ( ) ) } ) ?;
2015
2116 let fd0 = FileDesc :: new ( fds[ 0 ] ) ;
You can’t perform that action at this time.
0 commit comments