Skip to content

Commit

Permalink
std: Fix usage of SOCK_CLOEXEC
Browse files Browse the repository at this point in the history
This code path was intended to only get executed on Linux, but unfortunately the
`cfg!` was malformed so it actually never got executed.
  • Loading branch information
alexcrichton committed Jul 21, 2016
1 parent 8052f73 commit 15cd5a1
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/libstd/sys/unix/net.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ impl Socket {
// this option, however, was added in 2.6.27, and we still support
// 2.6.18 as a kernel, so if the returned error is EINVAL we
// fallthrough to the fallback.
if cfg!(linux) {
if cfg!(target_os = "linux") {
match cvt(libc::socket(fam, ty | SOCK_CLOEXEC, 0)) {
Ok(fd) => return Ok(Socket(FileDesc::new(fd))),
Err(ref e) if e.raw_os_error() == Some(libc::EINVAL) => {}
Expand All @@ -87,7 +87,7 @@ impl Socket {
let mut fds = [0, 0];

// Like above, see if we can set cloexec atomically
if cfg!(linux) {
if cfg!(target_os = "linux") {
match cvt(libc::socketpair(fam, ty | SOCK_CLOEXEC, 0, fds.as_mut_ptr())) {
Ok(_) => {
return Ok((Socket(FileDesc::new(fds[0])), Socket(FileDesc::new(fds[1]))));
Expand Down

0 comments on commit 15cd5a1

Please sign in to comment.