implement robust mutexes

some of this code should be cleaned up, e.g. using macros for some of
the bit flags, masks, etc. nonetheless, the code is believed to be
working and correct at this point.
This commit is contained in:
Rich Felker 2011-03-17 20:41:37 -04:00
commit 047e434ef5
10 changed files with 84 additions and 10 deletions

View file

@ -0,0 +1,10 @@
#include "pthread_impl.h"
int pthread_mutex_consistent(pthread_mutex_t *m)
{
if (m->_m_type < 8) return EINVAL;
if ((m->_m_lock & 0x3fffffff) != pthread_self()->tid)
return EPERM;
m->_m_type -= 8;
return 0;
}