diff options
| author | Steven Fackler <sfackler@gmail.com> | 2016-03-16 20:50:45 -0700 |
|---|---|---|
| committer | Steven Fackler <sfackler@gmail.com> | 2016-03-20 18:57:58 -0700 |
| commit | c0d989ed6b4b840a290a80ec0cdbc8edbce2ee57 (patch) | |
| tree | af07033b95415a5b27a5717fe4d9e2f3e3463d9d /src/libstd/sys/windows | |
| parent | 173676efdc8a9f1f2a86d37c08a104e2e505f9e4 (diff) | |
| download | rust-c0d989ed6b4b840a290a80ec0cdbc8edbce2ee57.tar.gz rust-c0d989ed6b4b840a290a80ec0cdbc8edbce2ee57.zip | |
Add unix socket support to the standard library
Diffstat (limited to 'src/libstd/sys/windows')
| -rw-r--r-- | src/libstd/sys/windows/net.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstd/sys/windows/net.rs b/src/libstd/sys/windows/net.rs index bb3c79c5a84..3a2f06418cf 100644 --- a/src/libstd/sys/windows/net.rs +++ b/src/libstd/sys/windows/net.rs @@ -214,6 +214,15 @@ impl Socket { let raw: c::BYTE = try!(net::getsockopt(self, c::IPPROTO_TCP, c::TCP_NODELAY)); Ok(raw != 0) } + + pub fn take_error(&self) -> io::Result<Option<io::Error>> { + let raw: c_int = try!(net::getsockopt(self, c::SOL_SOCKET, c::SO_ERROR)); + if raw == 0 { + Ok(None) + } else { + Ok(Some(io::Error::from_raw_os_error(raw as i32))) + } + } } #[unstable(reason = "not public", issue = "0", feature = "fd_read")] |
