21#include "../../SDL_internal.h"
27#include "../../core/windows/SDL_windows.h"
49 sem->id = CreateSemaphoreEx(
NULL, initial_value, 32 * 1024,
NULL, 0, SEMAPHORE_ALL_ACCESS);
51 sem->id = CreateSemaphore(
NULL, initial_value, 32 * 1024,
NULL);
53 sem->count = initial_value;
89 dwMilliseconds = INFINITE;
91 dwMilliseconds = (DWORD)
timeout;
93 switch (WaitForSingleObjectEx(
sem->id, dwMilliseconds,
FALSE)) {
95 InterlockedDecrement(&
sem->count);
142 InterlockedIncrement(&
sem->count);
144 InterlockedDecrement(&
sem->count);
#define SDL_OutOfMemory()
#define SDL_MUTEX_TIMEDOUT
#define SDL_MUTEX_MAXWAIT
GLbitfield GLuint64 timeout
int SDL_SemWait(SDL_sem *sem)
int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
SDL_sem * SDL_CreateSemaphore(Uint32 initial_value)
void SDL_DestroySemaphore(SDL_sem *sem)
int SDL_SemPost(SDL_sem *sem)
Uint32 SDL_SemValue(SDL_sem *sem)
int SDL_SemTryWait(SDL_sem *sem)