pthread: remove the code which save and restore mutex state in pthread_condwait
type and flags are only initialized in mutex_init and should not change in the middle Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
This commit is contained in:
parent
608b59e401
commit
4feb418e36
@ -109,11 +109,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
|
||||
|
||||
else
|
||||
{
|
||||
#ifndef CONFIG_PTHREAD_MUTEX_UNSAFE
|
||||
uint8_t mflags;
|
||||
#endif
|
||||
#ifdef CONFIG_PTHREAD_MUTEX_TYPES
|
||||
uint8_t type;
|
||||
int16_t nlocks;
|
||||
#endif
|
||||
|
||||
@ -131,11 +127,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
|
||||
/* Give up the mutex */
|
||||
|
||||
mutex->pid = INVALID_PROCESS_ID;
|
||||
#ifndef CONFIG_PTHREAD_MUTEX_UNSAFE
|
||||
mflags = mutex->flags;
|
||||
#endif
|
||||
#ifdef CONFIG_PTHREAD_MUTEX_TYPES
|
||||
type = mutex->type;
|
||||
nlocks = mutex->nlocks;
|
||||
#endif
|
||||
ret = pthread_mutex_give(mutex);
|
||||
@ -163,11 +155,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
|
||||
if (status == OK)
|
||||
{
|
||||
mutex->pid = mypid;
|
||||
#ifndef CONFIG_PTHREAD_MUTEX_UNSAFE
|
||||
mutex->flags = mflags;
|
||||
#endif
|
||||
#ifdef CONFIG_PTHREAD_MUTEX_TYPES
|
||||
mutex->type = type;
|
||||
mutex->nlocks = nlocks;
|
||||
#endif
|
||||
}
|
||||
|
@ -81,11 +81,7 @@ int pthread_cond_wait(FAR pthread_cond_t *cond, FAR pthread_mutex_t *mutex)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef CONFIG_PTHREAD_MUTEX_UNSAFE
|
||||
uint8_t mflags;
|
||||
#endif
|
||||
#ifdef CONFIG_PTHREAD_MUTEX_TYPES
|
||||
uint8_t type;
|
||||
int16_t nlocks;
|
||||
#endif
|
||||
|
||||
@ -96,11 +92,7 @@ int pthread_cond_wait(FAR pthread_cond_t *cond, FAR pthread_mutex_t *mutex)
|
||||
flags = enter_critical_section();
|
||||
sched_lock();
|
||||
mutex->pid = INVALID_PROCESS_ID;
|
||||
#ifndef CONFIG_PTHREAD_MUTEX_UNSAFE
|
||||
mflags = mutex->flags;
|
||||
#endif
|
||||
#ifdef CONFIG_PTHREAD_MUTEX_TYPES
|
||||
type = mutex->type;
|
||||
nlocks = mutex->nlocks;
|
||||
#endif
|
||||
ret = pthread_mutex_give(mutex);
|
||||
@ -144,11 +136,7 @@ int pthread_cond_wait(FAR pthread_cond_t *cond, FAR pthread_mutex_t *mutex)
|
||||
/* Yes.. Then initialize it properly */
|
||||
|
||||
mutex->pid = nxsched_gettid();
|
||||
#ifndef CONFIG_PTHREAD_MUTEX_UNSAFE
|
||||
mutex->flags = mflags;
|
||||
#endif
|
||||
#ifdef CONFIG_PTHREAD_MUTEX_TYPES
|
||||
mutex->type = type;
|
||||
mutex->nlocks = nlocks;
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user