winamp/Src/replicant/nx/win/nxsemaphore.c

24 lines
437 B
C
Raw Normal View History

2024-09-24 12:54:57 +00:00
#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);
}