Merge pull request #287 from DavidLin1577/patch-6
mini optimize the tos_sem.c
This commit is contained in:
@@ -22,9 +22,14 @@
|
|||||||
__API__ k_err_t tos_sem_create_max(k_sem_t *sem, k_sem_cnt_t init_count, k_sem_cnt_t max_count)
|
__API__ k_err_t tos_sem_create_max(k_sem_t *sem, k_sem_cnt_t init_count, k_sem_cnt_t max_count)
|
||||||
{
|
{
|
||||||
TOS_PTR_SANITY_CHECK(sem);
|
TOS_PTR_SANITY_CHECK(sem);
|
||||||
|
|
||||||
|
if (unlikely(init_count > max_count)) {
|
||||||
|
init_count = max_count;
|
||||||
|
}
|
||||||
|
|
||||||
sem->count = init_count;
|
sem->count = init_count;
|
||||||
sem->count_max = max_count;
|
sem->count_max = max_count;
|
||||||
|
|
||||||
pend_object_init(&sem->pend_obj);
|
pend_object_init(&sem->pend_obj);
|
||||||
TOS_OBJ_INIT(sem, KNL_OBJ_TYPE_SEMAPHORE);
|
TOS_OBJ_INIT(sem, KNL_OBJ_TYPE_SEMAPHORE);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user