Semaphores


Functions

void os_semaphore_init (os_semaphore_t *sem)
void os_semaphore_destroy (os_semaphore_t *sem)
void os_semaphore_wait (os_semaphore_t *sem)
int os_semaphore_wait_timed (os_semaphore_t *sem, int time_ms)
void os_semaphore_post (os_semaphore_t *sem)

Function Documentation

void os_semaphore_destroy ( os_semaphore_t *  sem  ) 

Destroy a semaphore.

Destroy a semaphore previously initialized with os_semaphore_init(), freeing any associated resources.

Callable from: thread context.

Parameters:
sem semaphore to destroy

void os_semaphore_init ( os_semaphore_t *  sem  ) 

Initialize a semaphore to zero.

Callable from: thread context.

Parameters:
sem semaphore to initialize.

void os_semaphore_post ( os_semaphore_t *  sem  ) 

Post an event to a semaphore, waking at least one of the threads waiting on it.

Callable from: any context.

Parameters:
sem semaphore to post to.

void os_semaphore_wait ( os_semaphore_t *  sem  ) 

Wait for an event to be posted to the semaphore.

Callable from: thread context.

Parameters:
sem semaphore to wait on.

int os_semaphore_wait_timed ( os_semaphore_t *  sem,
int  time_ms 
)

Wait for an event to be posted to the semaphore, or some time has elapsed.

Callable from: thread context.

Parameters:
sem semaphore to wait on
time_ms maximum time to wait (in ms).
Returns:
0 the the semaphore was posted.

-ETIMEDOUT if the maximum time to wait was exceeded.


Generated on Wed Oct 27 15:14:03 2010 for oska by  doxygen 1.5.5