SDL
2.0
|
#include "../../SDL_internal.h"
#include "SDL_timer.h"
#include "SDL_thread.h"
#include "SDL_systhread_c.h"
Go to the source code of this file.
Data Structures | |
struct | SDL_sem |
Functions | |
SDL_sem * | SDL_CreateSemaphore (Uint32 initial_value) |
void | SDL_DestroySemaphore (SDL_sem *sem) |
int | SDL_SemTryWait (SDL_sem *sem) |
int | SDL_SemWaitTimeout (SDL_sem *sem, Uint32 timeout) |
int | SDL_SemWait (SDL_sem *sem) |
Uint32 | SDL_SemValue (SDL_sem *sem) |
int | SDL_SemPost (SDL_sem *sem) |
SDL_sem* SDL_CreateSemaphore | ( | Uint32 | initial_value | ) |
Create a semaphore, initialized with value, returns NULL on failure.
Definition at line 85 of file SDL_syssem.c.
References NULL, SDL_CreateCond, SDL_CreateMutex, SDL_DestroySemaphore(), SDL_malloc, SDL_OutOfMemory, and SDL_sem::sem.
void SDL_DestroySemaphore | ( | SDL_sem * | sem | ) |
Destroy a semaphore.
Definition at line 111 of file SDL_syssem.c.
References SDL_CondSignal, SDL_Delay, SDL_DestroyCond, SDL_DestroyMutex, SDL_free, SDL_LockMutex, and SDL_UnlockMutex.
Referenced by SDL_CreateSemaphore().
int SDL_SemPost | ( | SDL_sem * | sem | ) |
Atomically increases the semaphore's count (not blocking).
Definition at line 200 of file SDL_syssem.c.
References SDL_CondSignal, SDL_LockMutex, SDL_SetError, and SDL_UnlockMutex.
int SDL_SemTryWait | ( | SDL_sem * | sem | ) |
Non-blocking variant of SDL_SemWait().
Definition at line 130 of file SDL_syssem.c.
References retval, SDL_LockMutex, SDL_MUTEX_TIMEDOUT, SDL_SetError, and SDL_UnlockMutex.
Referenced by SDL_SemWaitTimeout().
Uint32 SDL_SemValue | ( | SDL_sem * | sem | ) |
Returns the current count of the semaphore.
Definition at line 186 of file SDL_syssem.c.
References SDL_LockMutex, and SDL_UnlockMutex.
int SDL_SemWait | ( | SDL_sem * | sem | ) |
This function suspends the calling thread until the semaphore pointed to by sem
has a positive count. It then atomically decreases the semaphore count.
Definition at line 180 of file SDL_syssem.c.
References SDL_MUTEX_MAXWAIT, and SDL_SemWaitTimeout().
Referenced by SDL_SemWaitTimeout().
int SDL_SemWaitTimeout | ( | SDL_sem * | sem, |
Uint32 | ms | ||
) |
Variant of SDL_SemWait() with a timeout in milliseconds.
Definition at line 150 of file SDL_syssem.c.
References retval, SDL_CondWaitTimeout, SDL_LockMutex, SDL_MUTEX_TIMEDOUT, SDL_SemTryWait(), SDL_SetError, and SDL_UnlockMutex.
Referenced by SDL_SemWait().