Lines Matching refs:sem
19 aos_status_t aos_sem_new(aos_sem_t *sem, uint32_t count) in aos_sem_new() argument
24 if (sem == NULL) { in aos_sem_new()
39 *sem = s; in aos_sem_new()
44 aos_status_t aos_sem_create(aos_sem_t *sem, uint32_t count, uint32_t options) in aos_sem_create() argument
50 if (sem == NULL) { in aos_sem_create()
65 *sem = s; in aos_sem_create()
70 void aos_sem_free(aos_sem_t *sem) in aos_sem_free() argument
72 if (sem == NULL || *sem == NULL) { in aos_sem_free()
75 krhino_sem_del((ksem_t *)*sem); in aos_sem_free()
77 aos_free(*sem); in aos_sem_free()
79 *sem = NULL; in aos_sem_free()
82 aos_status_t aos_sem_wait(aos_sem_t *sem, uint32_t timeout) in aos_sem_wait() argument
86 CHECK_HANDLE(sem); in aos_sem_wait()
89 ret = krhino_sem_take((ksem_t *)*sem, RHINO_WAIT_FOREVER); in aos_sem_wait()
91 ret = krhino_sem_take((ksem_t *)*sem, MS2TICK(timeout)); in aos_sem_wait()
97 void aos_sem_signal(aos_sem_t *sem) in aos_sem_signal() argument
99 if (sem == NULL || *sem == NULL) { in aos_sem_signal()
103 krhino_sem_give((ksem_t *)*sem); in aos_sem_signal()
106 void aos_sem_signal_all(aos_sem_t *sem) in aos_sem_signal_all() argument
108 if (sem == NULL || *sem == NULL) { in aos_sem_signal_all()
112 krhino_sem_give_all((ksem_t *)*sem); in aos_sem_signal_all()
115 bool aos_sem_is_valid(aos_sem_t *sem) in aos_sem_is_valid() argument
119 if (sem == NULL) { in aos_sem_is_valid()
123 k_sem = *sem; in aos_sem_is_valid()