os_sem_release

os_error_t os_sem_release(struct os_sem *sem)

Release a semaphore that you are holding. This adds a token to the semaphore.

Arguments

ArgumentsDescription
*semPointer to semaphore

Returned values

OS_NOT_STARTED: Called before os has been started.

OS_INVALID_PARM: returned when *sem is NULL on entry.

OS_OK: semaphore released successfully.

Notes

Example

struct os_sem g_os_sem;
os_error_t err;

err = os_sem_pend(&g_os_sem, OS_TIMEOUT_NEVER);
assert(err == OS_OK);

/* Perform operations requiring semaphore lock */

err = os_sem_release(&g_os_sem);
assert(err == OS_OK);