From 965fdb029460346553cd9ddc59f5bb3b93e2f508 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Wed, 28 Nov 2018 10:35:56 +0100 Subject: fix build --- src/libstd/sys/windows/mutex.rs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/libstd/sys/windows') diff --git a/src/libstd/sys/windows/mutex.rs b/src/libstd/sys/windows/mutex.rs index 38ba0c7e035..e54bbfca056 100644 --- a/src/libstd/sys/windows/mutex.rs +++ b/src/libstd/sys/windows/mutex.rs @@ -168,23 +168,31 @@ impl ReentrantMutex { } pub unsafe fn init(&mut self) { - c::InitializeCriticalSection(self.inner.get().as_mut_ptr()); + c::InitializeCriticalSection((&mut *self.inner.get()).as_mut_ptr()); } pub unsafe fn lock(&self) { - c::EnterCriticalSection(self.inner.get().get_ref()); + // `init` must have been called, so this is now initialized and + // we can call `get_ref`. + c::EnterCriticalSection((&mut *self.inner.get()).get_ref()); } #[inline] pub unsafe fn try_lock(&self) -> bool { - c::TryEnterCriticalSection(self.inner.get().get_ref()) != 0 + // `init` must have been called, so this is now initialized and + // we can call `get_ref`. + c::TryEnterCriticalSection((&mut *self.inner.get()).get_ref()) != 0 } pub unsafe fn unlock(&self) { - c::LeaveCriticalSection(self.inner.get().get_ref()); + // `init` must have been called, so this is now initialized and + // we can call `get_ref`. + c::LeaveCriticalSection((&mut *self.inner.get()).get_ref()); } pub unsafe fn destroy(&self) { - c::DeleteCriticalSection(self.inner.get().get_ref()); + // `init` must have been called, so this is now initialized and + // we can call `get_ref`. + c::DeleteCriticalSection((&mut *self.inner.get()).get_ref()); } } -- cgit 1.4.1-3-g733a5