Explorar o código

add fast path for normal mutexes back to pthread_mutex_lock

Rich Felker %!s(int64=13) %!d(string=hai) anos
pai
achega
b2b95a58b4
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      src/thread/pthread_mutex_lock.c

+ 3 - 0
src/thread/pthread_mutex_lock.c

@@ -2,5 +2,8 @@
 
 int pthread_mutex_lock(pthread_mutex_t *m)
 {
+	if (m->_m_type == PTHREAD_MUTEX_NORMAL && !a_cas(&m->_m_lock, 0, EBUSY))
+		return 0;
+
 	return pthread_mutex_timedlock(m, 0);
 }