zig/lib/libc/musl/src/thread/vmlock.c
Andrew Kelley 49d1a4c562 move lib dirs to lib subdir
also start prefering NtDll API. so far:
 * NtQueryInformationFile
 * NtClose

adds a performance workaround for windows unicode conversion. but that
should probably be removed before merging
2019-07-15 17:54:50 -04:00

22 lines
284 B
C

#include "pthread_impl.h"
static volatile int vmlock[2];
void __vm_wait()
{
int tmp;
while ((tmp=vmlock[0]))
__wait(vmlock, vmlock+1, tmp, 1);
}
void __vm_lock()
{
a_inc(vmlock);
}
void __vm_unlock()
{
if (a_fetch_add(vmlock, -1)==1 && vmlock[1])
__wake(vmlock, -1, 1);
}