فهرست منبع

avoid function call to pthread_self in mutex unlock

if the mutex was previously locked, we can assume pthread_self was
already called at the time of locking, and thus that the thread
pointer is initialized.
Rich Felker 14 سال پیش
والد
کامیت
18c7ea8055
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      src/thread/pthread_mutex_unlock.c

+ 1 - 1
src/thread/pthread_mutex_unlock.c

@@ -3,7 +3,7 @@
 int pthread_mutex_unlock(pthread_mutex_t *m)
 {
 	if (m->_m_type != PTHREAD_MUTEX_NORMAL) {
-		if (m->_m_lock != pthread_self()->tid)
+		if (!m->_m_lock || m->_m_lock != __pthread_self()->tid)
 		 	return EPERM;
 		if (m->_m_type == PTHREAD_MUTEX_RECURSIVE && --m->_m_count)
 			return 0;