diff options
| -rw-r--r-- | src/libstd/sys/windows/tcp.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libstd/sys/windows/tcp.rs b/src/libstd/sys/windows/tcp.rs index 505e6137bf9..513c1d38e36 100644 --- a/src/libstd/sys/windows/tcp.rs +++ b/src/libstd/sys/windows/tcp.rs @@ -24,6 +24,9 @@ pub use sys_common::net::TcpStream; pub struct Event(c::WSAEVENT); +unsafe impl Send for Event {} +unsafe impl Sync for Event {} + impl Event { pub fn new() -> IoResult<Event> { let event = unsafe { c::WSACreateEvent() }; @@ -49,6 +52,9 @@ impl Drop for Event { pub struct TcpListener { sock: sock_t } +unsafe impl Send for TcpListener {} +unsafe impl Sync for TcpListener {} + impl TcpListener { pub fn bind(addr: ip::SocketAddr) -> IoResult<TcpListener> { sys::init_net(); @@ -109,6 +115,9 @@ pub struct TcpAcceptor { deadline: u64, } +unsafe impl Send for TcpAcceptor {} +unsafe impl Sync for TcpAcceptor {} + struct AcceptorInner { listener: TcpListener, abort: Event, @@ -116,6 +125,9 @@ struct AcceptorInner { closed: atomic::AtomicBool, } +unsafe impl Send for AcceptorInner {} +unsafe impl Sync for AcceptorInner {} + impl TcpAcceptor { pub fn socket(&self) -> sock_t { self.inner.listener.socket() } |
