diff --git a/library/std/src/sys/unix/net.rs b/library/std/src/sys/unix/net.rs index d2e8c43a665954f57500935b5f508a73574a9cc0..9ae6d12dcb95cfc9a30256f3185db31f74ee7004 100644 --- a/library/std/src/sys/unix/net.rs +++ b/library/std/src/sys/unix/net.rs @@ -387,7 +387,7 @@ pub fn shutdown(&self, how: Shutdown) -> io::Result<()> { pub fn set_linger(&self, linger: Option) -> io::Result<()> { let linger = libc::linger { l_onoff: linger.is_some() as libc::c_int, - l_linger: linger.map(|dur| dur.as_secs() as libc::c_int).unwrap_or_default(), + l_linger: linger.unwrap_or_default().as_secs() as libc::c_int, }; setsockopt(self, libc::SOL_SOCKET, SO_LINGER, linger) diff --git a/library/std/src/sys/windows/net.rs b/library/std/src/sys/windows/net.rs index 1ad4f0c70a3c6748dbbd62bf0f01a27a9396575f..33152cc97abc018428c3f2aa7e8f6f4ed808fef2 100644 --- a/library/std/src/sys/windows/net.rs +++ b/library/std/src/sys/windows/net.rs @@ -449,7 +449,7 @@ pub fn set_nonblocking(&self, nonblocking: bool) -> io::Result<()> { pub fn set_linger(&self, linger: Option) -> io::Result<()> { let linger = c::linger { l_onoff: linger.is_some() as c_ushort, - l_linger: linger.map(|dur| dur.as_secs() as c_ushort).unwrap_or_default(), + l_linger: linger.unwrap_or_default().as_secs() as c_ushort, }; net::setsockopt(self, c::SOL_SOCKET, c::SO_LINGER, linger)