Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Destroys a semaphore.
- *
- * @param sem is the semaphore to be destroyed.
- */
- void
- sys_sem_free(sys_sem_t *sem)
- {
- u32_t i;
- /* Find a semaphore that is in use. */
- for(i = 0; i < SYS_SEM_MAX; i++) {
- if(sems[i].queue == sem->queue) {
- break;
- }
- }
- /* Delete Sem , By Jin */
- vQueueDelete(sem->queue);
- /* Clear the queue handle. */
- sem->queue = 0;
- /* Clear the queue handle in global array. */
- sems[i].queue = 0;
- /* Update the semaphore statistics. */
- #if SYS_STATS
- STATS_DEC(sys.sem.used);
- #endif /* SYS_STATS */
- }
Add Comment
Please, Sign In to add comment