aboutsummaryrefslogtreecommitdiff
path: root/std/mutex.zig
diff options
context:
space:
mode:
authoremekoi <emekankurumeh@outlook.com>2018-11-27 01:39:37 -0600
committeremekoi <emekankurumeh@outlook.com>2019-01-11 09:56:35 -0600
commit93851270526e71407b4225a23daa66214a4010f9 (patch)
tree3e2997207144c14d96c25b36a23240182b6efc58 /std/mutex.zig
parentbb31695fbfbf7c808dc3fd8c3cfc0b654ed15e5e (diff)
downloadzig-93851270526e71407b4225a23daa66214a4010f9.tar.gz
zig-93851270526e71407b4225a23daa66214a4010f9.zip
changed pointer types
Diffstat (limited to 'std/mutex.zig')
-rw-r--r--std/mutex.zig7
1 files changed, 4 insertions, 3 deletions
diff --git a/std/mutex.zig b/std/mutex.zig
index 45336f353e..3469b9a118 100644
--- a/std/mutex.zig
+++ b/std/mutex.zig
@@ -82,9 +82,9 @@ pub const Mutex = switch(builtin.os) {
};
}
- extern fn initCriticalSection(InitOnce: *windows.PINIT_ONCE, Parameter: ?windows.PVOID, Context: ?*windows.PVOID) windows.BOOL {
+ extern fn initCriticalSection(InitOnce: *windows.PINIT_ONCE, Parameter: ?windows.PVOID, Context: ?windows.PVOID) windows.BOOL {
if (Context) |ctx| {
- var mutex = @ptrCast(*?windows.CRITICAL_SECTION, ctx);
+ var mutex = @ptrCast(*?windows.CRITICAL_SECTION, @alignCast(8, ctx));
if (mutex.* == null) {
var lock: windows.CRITICAL_SECTION = undefined;
windows.InitializeCriticalSection(&lock);
@@ -105,7 +105,8 @@ pub const Mutex = switch(builtin.os) {
if (self.lock) |*lock| {
windows.EnterCriticalSection(lock);
} else {
- if (windows.InitOnceExecuteOnce(&self.init_once, initCriticalSection, null, @ptrCast(?*windows.PVOID, self)) == windows.TRUE) {
+ var mutex = @ptrCast(?windows.PVOID, self);
+ if (windows.InitOnceExecuteOnce(&self.init_once, initCriticalSection, null, mutex) == windows.TRUE) {
windows.EnterCriticalSection(&self.lock.?);
} else {
@panic("unable to initialize Mutex");