pthreads: Re-order some operations so that mutexes are placed in the inconsistent state BEFORE the clean-up callbacks are called.

This commit is contained in:
Gregory Nutt
2017-04-10 08:11:16 -06:00
parent 755e9312b5
commit b51b72b2db
4 changed files with 17 additions and 15 deletions
+3 -1
View File
@@ -119,7 +119,6 @@ int pthread_mutex_consistent(FAR pthread_mutex_t *mutex)
/* The thread associated with the PID no longer exists */
mutex->pid = -1;
mutex->flags &= _PTHREAD_MFLAGS_ROBUST;
#ifdef CONFIG_PTHREAD_MUTEX_TYPES
mutex->nlocks = 0;
#endif
@@ -132,6 +131,9 @@ int pthread_mutex_consistent(FAR pthread_mutex_t *mutex)
}
}
/* Clear the inconsistent flag in any case */
mutex->flags &= _PTHREAD_MFLAGS_ROBUST;
sched_unlock();
ret = OK;
}