The Pedigree Project 0.1
Functions
+ Collaboration diagram for Semaphores:

Functions

err_t sys_sem_new (sys_sem_t *sem, u8_t count)
 
void sys_sem_signal (sys_sem_t *sem)
 
u32_t sys_arch_sem_wait (sys_sem_t *sem, u32_t timeout)
 
void sys_sem_free (sys_sem_t *sem)
 
int sys_sem_valid (sys_sem_t *sem)
 
void sys_sem_set_invalid (sys_sem_t *sem)
 

Detailed Description

Function Documentation

◆ sys_arch_sem_wait()

u32_t sys_arch_sem_wait ( sys_sem_t *  sem,
u32_t  timeout 
)

Wait for a semaphore for the specified timeout

Parameters
semthe semaphore to wait for
timeouttimeout in milliseconds to wait (0 = wait forever)
Returns
time (in milliseconds) waited for the semaphore or SYS_ARCH_TIMEOUT on timeout

Definition at line 189 of file sys_arch.cc.

References Semaphore::acquireForCompletion(), and SYS_ARCH_TIMEOUT.

Referenced by sys_msleep(), tcpip_api_call(), tcpip_callback_wait(), and tcpip_send_msg_wait_sem().

+ Here is the caller graph for this function:

◆ sys_sem_free()

void sys_sem_free ( sys_sem_t *  sem)

Delete a semaphore

Parameters
semsemaphore to delete

Definition at line 152 of file sys_arch.cc.

Referenced by sys_msleep(), tcpip_api_call(), and tcpip_callback_wait().

+ Here is the caller graph for this function:

◆ sys_sem_new()

err_t sys_sem_new ( sys_sem_t *  sem,
u8_t  count 
)

Create a new semaphore

Parameters
sempointer to the semaphore to create
countinitial count of the semaphore
Returns
ERR_OK if successful, another err_t otherwise

Definition at line 138 of file sys_arch.cc.

References ERR_ARG, and ERR_OK.

Referenced by sys_msleep(), tcpip_api_call(), and tcpip_callback_wait().

+ Here is the caller graph for this function:

◆ sys_sem_set_invalid()

void sys_sem_set_invalid ( sys_sem_t *  sem)

Set a semaphore invalid so that sys_sem_valid returns 0

Definition at line 174 of file sys_arch.cc.

◆ sys_sem_signal()

void sys_sem_signal ( sys_sem_t *  sem)

Signals a semaphore

Parameters
semthe semaphore to signal

Definition at line 180 of file sys_arch.cc.

References Semaphore::release().

◆ sys_sem_valid()

int sys_sem_valid ( sys_sem_t *  sem)

Check if a semaphore is valid/allocated: return 1 for valid, 0 for invalid

Definition at line 162 of file sys_arch.cc.

Referenced by tcpip_send_msg_wait_sem().

+ Here is the caller graph for this function: