zenilib: zenilib/jni/external/sdl/src/thread/pthread/SDL_syssem.c File Reference

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
SDL_syssem.c File Reference
`#include "SDL_config.h"`
`#include <errno.h>`
`#include <pthread.h>`
`#include <semaphore.h>`
`#include <sys/time.h>`
`#include "SDL_thread.h"`
`#include "SDL_timer.h"`

Go to the source code of this file.

## Functions

SDL_sem * | SDL_CreateSemaphore (Uint32 initial_value)
void | SDL_DestroySemaphore (SDL_sem *sem)
int | SDL_SemPost (SDL_sem *sem)
int | SDL_SemTryWait (SDL_sem *sem)
Uint32 | SDL_SemValue (SDL_sem *sem)
int | SDL_SemWait (SDL_sem *sem)
int | SDL_SemWaitTimeout (SDL_sem *sem, Uint32 timeout)

## Function Documentation

SDL_sem* SDL_CreateSemaphore | ( | Uint32 | initial_value | ) |

Create a semaphore, initialized with value, returns NULL on failure.

Definition at line 45 of file SDL_syssem.c.

References NULL, SDL_free(), SDL_malloc(), SDL_OutOfMemory, and SDL_SetError().

Referenced by PSP_EventInit(), SDL_CreateCond(), SDL_CreateMutex(), SDL_CreateThread(), SDL_SYS_JoystickInit(), and SDL_TimerInit().

void SDL_DestroySemaphore | ( | SDL_sem * | sem | ) |

Destroy a semaphore.

Definition at line 61 of file SDL_syssem.c.

References SDL_free().

Referenced by PSP_EventQuit(), SDL_CreateSemaphore(), SDL_CreateThread(), SDL_DestroyCond(), SDL_DestroyMutex(), SDL_SYS_JoystickQuit(), and SDL_TimerQuit().

int SDL_SemPost | ( | SDL_sem * | sem | ) |

Atomically increases the semaphore's count (not blocking).

Returns
  0, or -1 on error.

Definition at line 183 of file SDL_syssem.c.

References SDL_SetError().

Referenced by EventUpdate(), JoystickUpdate(), PSP_PumpEvents(), SDL_AddTimer(), SDL_CondBroadcast(), SDL_CondSignal(), SDL_CondWaitTimeout(), SDL_mutexV(), SDL_RunThread(), SDL_SYS_JoystickUpdate(), and SDL_TimerQuit().

int SDL_SemTryWait | ( | SDL_sem * | sem | ) |

Non-blocking variant of SDL_SemWait().

Returns
  0 if the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error.

Definition at line 70 of file SDL_syssem.c.

References SDL_MUTEX_TIMEDOUT, and SDL_SetError().

Referenced by SDL_SemWaitTimeout().

Uint32 SDL_SemValue | ( | SDL_sem * | sem | ) |

Returns the current count of the semaphore.

Definition at line 170 of file SDL_syssem.c.

References ret.

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 85 of file SDL_syssem.c.

References SDL_SetError().

Referenced by EventUpdate(), JoystickUpdate(), PSP_PumpEvents(), SDL_CondBroadcast(), SDL_CondSignal(), SDL_CondWaitTimeout(), SDL_CreateThread(), SDL_LockMutex(), SDL_mutexP(), SDL_SemWaitTimeout(), SDL_SYS_JoystickUpdate(), and SDL_TryLockMutex().

int SDL_SemWaitTimeout | ( | SDL_sem * | sem,
|  | Uint32 | ms
| ) |  |

Variant of SDL_SemWait() with a timeout in milliseconds.

Returns
  0 if the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in the allotted time, and -1 on error.

Warning
  On some platforms this function is implemented by looping with a delay of 1 ms, and so should be avoided if possible.

Definition at line 101 of file SDL_syssem.c.

References NULL, SDL_Delay(), SDL_GetTicks(), SDL_MUTEX_MAXWAIT, SDL_MUTEX_TIMEDOUT, SDL_SemTryWait(), SDL_SemWait(), and SDL_SetError().

Referenced by SDL_CondWaitTimeout(), SDL_SemTryWait(), SDL_SemWait(), and SDL_TimerThread().