72#if defined POSIX_MUTEX_DEFAULT_INHERIT
73 attr->protocol = PTHREAD_PRIO_INHERIT;
74#elif defined POSIX_MUTEX_DEFAULT_PROTECT
75 attr->protocol = PTHREAD_PRIO_PROTECT;
77 attr->protocol = PTHREAD_PRIO_NONE;
79 attr->type = PTHREAD_MUTEX_NORMAL;
137 if ((ret == LOS_OK) && (mutexAttr == NULL)) {
138#if defined POSIX_MUTEX_DEFAULT_INHERIT
139 mutex->attr.protocol = PTHREAD_PRIO_INHERIT;
140#elif defined POSIX_MUTEX_DEFAULT_PROTECT
141 mutex->attr.protocol = PTHREAD_PRIO_PROTECT;
143 mutex->attr.protocol = PTHREAD_PRIO_NONE;
145 mutex->attr.type = PTHREAD_MUTEX_NORMAL;
LITE_OS_SEC_TEXT UINT32 LOS_MuxTrylock(LosMux *mutex)
尝试要锁,没拿到也不等,直接返回,不纠结
LITE_OS_SEC_TEXT UINT32 LOS_MuxInit(LosMux *mutex, const LosMuxAttr *attr)
初始化互斥锁
LITE_OS_SEC_TEXT UINT32 LOS_MuxUnlock(LosMux *mutex)
释放锁
LITE_OS_SEC_TEXT UINT32 LOS_MuxDestroy(LosMux *mutex)
销毁互斥锁
LITE_OS_SEC_TEXT UINT32 LOS_MuxLock(LosMux *mutex, UINT32 timeout)
拿互斥锁,
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrGetProtocol(const LosMuxAttr *attr, INT32 *protocol)
获取互斥锁的类型属性
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrSetType(LosMuxAttr *attr, INT32 type)
设置互斥锁的类型属性
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrGetPrioceiling(const LosMuxAttr *attr, INT32 *prioceiling)
获取互斥锁属性优先级
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrDestroy(LosMuxAttr *attr)
????? 销毁互斥属 ,这里啥也没干呀
LITE_OS_SEC_TEXT UINT32 LOS_MuxSetPrioceiling(LosMux *mutex, INT32 prioceiling, INT32 *oldPrioceiling)
设置互斥锁的优先级的上限,老优先级由oldPrioceiling带走
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrSetProtocol(LosMuxAttr *attr, INT32 protocol)
设置互斥锁属性的协议
LITE_OS_SEC_TEXT UINT32 LOS_MuxGetPrioceiling(const LosMux *mutex, INT32 *prioceiling)
获取互斥锁的优先级的上限
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrSetPrioceiling(LosMuxAttr *attr, INT32 prioceiling)
设置互斥锁属性的优先级的上限
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrGetType(const LosMuxAttr *attr, INT32 *outType)
获取互斥锁的类型属性,由outType接走,不送!
LITE_OS_SEC_TEXT UINT32 LOS_MuxAttrInit(LosMuxAttr *attr)
互斥属性初始化
int pthread_mutex_lock(pthread_mutex_t *mutex)
互斥锁加锁操作
int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *attr, int *protocol)
int pthread_mutexattr_destroy(pthread_mutexattr_t *attr)
int pthread_mutex_trylock(pthread_mutex_t *mutex)
互斥锁尝试加锁操作
int pthread_mutex_destroy(pthread_mutex_t *mutex)
销毁互斥锁
int pthread_mutex_setprioceiling(pthread_mutex_t *mutex, int prioceiling, int *oldPrioceiling)
int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexAttr)
初始化互斥锁。 如果 mutexAttr 为 NULL,则使用默认属性。
int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type)
int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *attr, int prioceiling)
int pthread_mutex_unlock(pthread_mutex_t *mutex)
解锁互斥锁
int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *outType)
int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *attr, int *prioceiling)
int pthread_mutex_getprioceiling(const pthread_mutex_t *mutex, int *prioceiling)
int pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr, int protocol)
int pthread_mutexattr_init(pthread_mutexattr_t *attr)
初始化互斥锁属性