Lines Matching refs:mutex

17 int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)  in pthread_mutex_init()  argument
21 if (mutex == NULL) { in pthread_mutex_init()
24 memset(mutex, 0, sizeof(pthread_mutex_t)); in pthread_mutex_init()
27 mutex->attr = *attr; in pthread_mutex_init()
30 ret = aos_mutex_new((aos_mutex_t*)(&(mutex->mutex))); in pthread_mutex_init()
35 mutex->flag = PTHREAD_DYN_INIT; in pthread_mutex_init()
39 int pthread_mutex_destroy(pthread_mutex_t *mutex) in pthread_mutex_destroy() argument
41 if (mutex == NULL) { in pthread_mutex_destroy()
45 if (mutex->flag == PTHREAD_STATIC_INIT) { in pthread_mutex_destroy()
46 memset(mutex, 0, sizeof(pthread_mutex_t)); in pthread_mutex_destroy()
48 } else if (mutex->flag == PTHREAD_DYN_INIT) { in pthread_mutex_destroy()
49 aos_mutex_free((aos_mutex_t*)(&(mutex->mutex))); in pthread_mutex_destroy()
50 memset(mutex, 0, sizeof(pthread_mutex_t)); in pthread_mutex_destroy()
57 int pthread_mutex_lock(pthread_mutex_t *mutex) in pthread_mutex_lock() argument
61 if (mutex == NULL) { in pthread_mutex_lock()
66 if (mutex->flag == PTHREAD_STATIC_INIT) { in pthread_mutex_lock()
67 ret = pthread_mutex_init(mutex, NULL); in pthread_mutex_lock()
73 ret = aos_mutex_lock((aos_mutex_t*)(&(mutex->mutex)), AOS_WAIT_FOREVER); in pthread_mutex_lock()
81 int pthread_mutex_unlock(pthread_mutex_t *mutex) in pthread_mutex_unlock() argument
85 if (mutex == NULL) { in pthread_mutex_unlock()
89 if (mutex->flag != PTHREAD_DYN_INIT) { in pthread_mutex_unlock()
93 ret = aos_mutex_unlock((aos_mutex_t*)(&(mutex->mutex))); in pthread_mutex_unlock()
101 int pthread_mutex_trylock(pthread_mutex_t *mutex) in pthread_mutex_trylock() argument
105 if (mutex == NULL) { in pthread_mutex_trylock()
110 if (mutex->flag == PTHREAD_STATIC_INIT) { in pthread_mutex_trylock()
111 ret = pthread_mutex_init(mutex, NULL); in pthread_mutex_trylock()
117 ret = aos_mutex_lock((aos_mutex_t*)(&(mutex->mutex)), AOS_NO_WAIT); in pthread_mutex_trylock()
127 int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *at) in pthread_mutex_timedlock() argument
131 if (mutex == NULL) { in pthread_mutex_timedlock()
136 if (mutex->flag == PTHREAD_STATIC_INIT) { in pthread_mutex_timedlock()
137 ret = pthread_mutex_init(mutex, NULL); in pthread_mutex_timedlock()
143 ret = pthread_mutex_trylock(mutex); in pthread_mutex_timedlock()
149 ret = aos_mutex_lock((aos_mutex_t*)(&(mutex->mutex)), timeout); in pthread_mutex_timedlock()
157 int pthread_mutex_getprioceiling(const pthread_mutex_t *mutex, int *prioceiling) in pthread_mutex_getprioceiling() argument
159 if ((mutex == NULL) || (prioceiling == NULL)) { in pthread_mutex_getprioceiling()
163 PTHREAD_MUTEXATTR_IS_INITED(&(mutex->attr)); in pthread_mutex_getprioceiling()
165 *prioceiling = mutex->attr.prioceiling; in pthread_mutex_getprioceiling()
170 int pthread_mutex_setprioceiling(pthread_mutex_t *mutex, int prioceiling, in pthread_mutex_setprioceiling() argument
173 if (mutex == NULL) { in pthread_mutex_setprioceiling()
182 PTHREAD_MUTEXATTR_IS_INITED(&(mutex->attr)); in pthread_mutex_setprioceiling()
185 *old_ceiling = mutex->attr.prioceiling; in pthread_mutex_setprioceiling()
188 mutex->attr.prioceiling = prioceiling; in pthread_mutex_setprioceiling()