diff options
| -rw-r--r-- | src/thread/pthread_mutex_trylock.c | 2 | ||||
| -rw-r--r-- | src/thread/pthread_mutex_unlock.c | 4 | 
2 files changed, 2 insertions, 4 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) { diff --git a/src/thread/pthread_mutex_unlock.c b/src/thread/pthread_mutex_unlock.c index 0f4a5e6c..05baec18 100644 --- a/src/thread/pthread_mutex_unlock.c +++ b/src/thread/pthread_mutex_unlock.c @@ -12,8 +12,8 @@ int pthread_mutex_unlock(pthread_mutex_t *m)  		self = __pthread_self();  		if ((m->_m_lock&0x1fffffff) != self->tid)  			return EPERM; -		if ((m->_m_type&3) == PTHREAD_MUTEX_RECURSIVE && --m->_m_count) -			return 0; +		if ((m->_m_type&3) == PTHREAD_MUTEX_RECURSIVE && m->_m_count) +			return m->_m_count--, 0;  		if (m->_m_type >= 4) {  			self->robust_list.pending = &m->_m_next;  			*(void **)m->_m_prev = m->_m_next; | 
