Lines Matching refs:psem
38 rt_inline void posix_sem_insert(sem_t *psem) in posix_sem_insert() argument
40 psem->next = posix_sem_list; in posix_sem_insert()
41 posix_sem_list = psem; in posix_sem_insert()
56 static void posix_sem_delete(sem_t *psem) in posix_sem_delete() argument
59 if (posix_sem_list == psem) in posix_sem_delete()
61 posix_sem_list = psem->next; in posix_sem_delete()
63 rt_sem_delete(psem->sem); in posix_sem_delete()
65 if(psem->unamed == 0) in posix_sem_delete()
66 rt_free(psem); in posix_sem_delete()
72 if (iter->next == psem) in posix_sem_delete()
75 if (psem->next != RT_NULL) in posix_sem_delete()
76 iter->next = psem->next; in posix_sem_delete()
81 rt_sem_delete(psem->sem); in posix_sem_delete()
83 if(psem->unamed == 0) in posix_sem_delete()
84 rt_free(psem); in posix_sem_delete()
209 sem_t *psem; in sem_unlink() local
213 psem = posix_sem_find(name); in sem_unlink()
214 if (psem != RT_NULL) in sem_unlink()
216 psem->unlinked = 1; in sem_unlink()
217 if (psem->refcount == 0) in sem_unlink()
220 posix_sem_delete(psem); in sem_unlink()