aboutsummaryrefslogtreecommitdiff
path: root/Src/replicant/nx/win/nxsemaphore.c
blob: 25070336a34392c54bb716e7672b41625969abff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "nxsemaphore.h"
#include "foundation/error.h"
int NXSemaphoreCreate(nx_semaphore_t *sem)
{
	*sem = CreateSemaphore(0, 0, LONG_MAX, 0);
	return NErr_Success;
}

int NXSemaphoreRelease(nx_semaphore_t sem)
{
	ReleaseSemaphore(sem, 1, 0);
	return NErr_Success;
}

int NXSemaphoreWait(nx_semaphore_t sem)
{
	WaitForSingleObject(sem, INFINITE);
	return NErr_Success;
}

void NXSemaphoreClose(nx_semaphore_t sem)
{
	CloseHandle(sem);
}