Remove SO_NOSIGPIPE
dummy variable on platforms that don't use it.
This commit is contained in:
parent
3ed3b8bb7b
commit
58910255aa
@ -28,14 +28,6 @@
|
|||||||
#[cfg(not(target_os = "linux"))]
|
#[cfg(not(target_os = "linux"))]
|
||||||
const SOCK_CLOEXEC: c_int = 0;
|
const SOCK_CLOEXEC: c_int = 0;
|
||||||
|
|
||||||
// Another conditional constant for name resolution: Macos et iOS use
|
|
||||||
// SO_NOSIGPIPE as a setsockopt flag to disable SIGPIPE emission on socket.
|
|
||||||
// Other platforms do otherwise.
|
|
||||||
#[cfg(target_vendor = "apple")]
|
|
||||||
use libc::SO_NOSIGPIPE;
|
|
||||||
#[cfg(not(target_vendor = "apple"))]
|
|
||||||
const SO_NOSIGPIPE: c_int = 0;
|
|
||||||
|
|
||||||
pub struct Socket(FileDesc);
|
pub struct Socket(FileDesc);
|
||||||
|
|
||||||
pub fn init() {}
|
pub fn init() {}
|
||||||
@ -89,9 +81,12 @@ pub fn new_raw(fam: c_int, ty: c_int) -> io::Result<Socket> {
|
|||||||
let fd = FileDesc::new(fd);
|
let fd = FileDesc::new(fd);
|
||||||
fd.set_cloexec()?;
|
fd.set_cloexec()?;
|
||||||
let socket = Socket(fd);
|
let socket = Socket(fd);
|
||||||
if cfg!(target_vendor = "apple") {
|
|
||||||
setsockopt(&socket, libc::SOL_SOCKET, SO_NOSIGPIPE, 1)?;
|
// macOS and iOS use `SO_NOSIGPIPE` as a `setsockopt`
|
||||||
}
|
// flag to disable `SIGPIPE` emission on socket.
|
||||||
|
#[cfg(target_vendor = "apple")]
|
||||||
|
setsockopt(&socket, libc::SOL_SOCKET, libc::SO_NOSIGPIPE, 1)?;
|
||||||
|
|
||||||
Ok(socket)
|
Ok(socket)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
pub type wrlen_t = size_t;
|
pub type wrlen_t = size_t;
|
||||||
|
|
||||||
const SOCK_CLOEXEC: c_int = 0;
|
const SOCK_CLOEXEC: c_int = 0;
|
||||||
const SO_NOSIGPIPE: c_int = 0;
|
|
||||||
|
|
||||||
pub struct Socket(FileDesc);
|
pub struct Socket(FileDesc);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user