Implement Sync for some windows sys types

This commit is contained in:
Flavio Percoco 2014-12-22 14:13:24 +01:00
parent e2116c8fba
commit 51d2fefd91
2 changed files with 8 additions and 0 deletions

View File

@ -22,6 +22,8 @@ pub struct Mutex { inner: atomic::AtomicUint }
pub const MUTEX_INIT: Mutex = Mutex { inner: atomic::INIT_ATOMIC_UINT };
unsafe impl Sync for Mutex {}
#[inline]
pub unsafe fn raw(m: &Mutex) -> ffi::LPCRITICAL_SECTION {
m.get()

View File

@ -559,6 +559,8 @@ pub struct UnixListener {
name: CString,
}
unsafe impl Sync for UnixListener {}
impl UnixListener {
pub fn bind(addr: &CString) -> IoResult<UnixListener> {
// Although we technically don't need the pipe until much later, we
@ -603,11 +605,15 @@ pub struct UnixAcceptor {
deadline: u64,
}
unsafe impl Sync for UnixAcceptor {}
struct AcceptorState {
abort: Event,
closed: atomic::AtomicBool,
}
unsafe impl Sync for AcceptorState {}
impl UnixAcceptor {
pub fn accept(&mut self) -> IoResult<UnixStream> {
// This function has some funky implementation details when working with