diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-10-03 00:09:08 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-10-03 00:09:08 -0400 |
commit | 7fe58d3511387ab6c57909f6e4baef58acd6bd56 (patch) | |
tree | c41921898477f2269c44b68b1befce6e6660cc0b /src/thread/pthread_mutex_trylock.c | |
parent | b3b00d11e87926b553429d341b020a8a070e4ea1 (diff) | |
download | musl-7fe58d3511387ab6c57909f6e4baef58acd6bd56.tar.gz |
use count=0 instead of 1 for recursive mutex with only one lock reference
this simplifies the code paths slightly, but perhaps what's nicer is
that it makes recursive mutexes fully reentrant, i.e. locking and
unlocking from a signal handler works even if the interrupted code was
in the middle of locking or unlocking.
Diffstat (limited to 'src/thread/pthread_mutex_trylock.c')
-rw-r--r-- | src/thread/pthread_mutex_trylock.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/thread/pthread_mutex_trylock.c b/src/thread/pthread_mutex_trylock.c index 4a424bc9..fb277970 100644 --- a/src/thread/pthread_mutex_trylock.c +++ b/src/thread/pthread_mutex_trylock.c @@ -30,8 +30,6 @@ int pthread_mutex_trylock(pthread_mutex_t *m) if ((own && !(own & 0x40000000)) || a_cas(&m->_m_lock, old, tid)!=old) return EBUSY; - m->_m_count = 1; - if (m->_m_type < 4) return 0; if (m->_m_type >= 8) { |