diff options
| author | Steven Fackler <[email protected]> | 2017-12-27 09:52:03 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-12-27 09:52:03 -0700 |
| commit | dcfe1dfa8bc106b6e196c701df71b495f978c8b2 (patch) | |
| tree | ebabd95bcc370b04370f7315dcedda5dd31a15ab /openssl/src/ssl/tests/select.rs | |
| parent | Merge pull request #801 from sfackler/verify-error (diff) | |
| parent | Overhaul ssl error (diff) | |
| download | rust-openssl-dcfe1dfa8bc106b6e196c701df71b495f978c8b2.tar.xz rust-openssl-dcfe1dfa8bc106b6e196c701df71b495f978c8b2.zip | |
Merge pull request #802 from sfackler/ssl-error
Overhaul ssl error
Diffstat (limited to 'openssl/src/ssl/tests/select.rs')
| -rw-r--r-- | openssl/src/ssl/tests/select.rs | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/openssl/src/ssl/tests/select.rs b/openssl/src/ssl/tests/select.rs deleted file mode 100644 index 36d5ed49..00000000 --- a/openssl/src/ssl/tests/select.rs +++ /dev/null @@ -1,74 +0,0 @@ -use libc; -pub use self::imp::*; - -#[cfg(unix)] -mod imp { - use std::os::unix::prelude::*; - use std::io; - use libc; - - pub use libc::fd_set; - - pub fn fd_set<F: AsRawFd>(set: &mut fd_set, f: &F) { - unsafe { - libc::FD_SET(f.as_raw_fd(), set); - } - } - - pub unsafe fn select<F: AsRawFd>( - max: &F, - read: *mut fd_set, - write: *mut fd_set, - error: *mut fd_set, - timeout_ms: u32, - ) -> io::Result<bool> { - let mut timeout = libc::timeval { - tv_sec: (timeout_ms / 1000) as libc::time_t, - tv_usec: (timeout_ms % 1000 * 1000) as libc::suseconds_t, - }; - let rc = libc::select(max.as_raw_fd() + 1, read, write, error, &mut timeout); - if rc < 0 { - Err(io::Error::last_os_error()) - } else { - Ok(rc != 0) - } - } -} - -#[cfg(windows)] -mod imp { - extern crate winapi; - extern crate ws2_32; - - use std::os::windows::prelude::*; - use std::io; - use libc::{c_uint, c_long}; - use self::winapi::SOCKET; - use self::winapi::winsock2; - - pub use self::winapi::winsock2::fd_set; - - pub fn fd_set<F: AsRawSocket>(set: &mut fd_set, f: &F) { - set.fd_array[set.fd_count as usize] = f.as_raw_socket(); - set.fd_count += 1; - } - - pub unsafe fn select<F: AsRawSocket>( - _max: &F, - read: *mut fd_set, - write: *mut fd_set, - error: *mut fd_set, - timeout_ms: u32, - ) -> io::Result<bool> { - let mut timeout = winsock2::timeval { - tv_sec: (timeout_ms / 1000) as c_long, - tv_usec: (timeout_ms % 1000 * 1000) as c_long, - }; - let rc = ws2_32::select(1, read, write, error, &mut timeout); - if rc < 0 { - Err(io::Error::last_os_error()) - } else { - Ok(rc != 0) - } - } -} |