Bläddra i källkod

clean up access to mutex type in pthread_mutex_trylock

there was no point in masking off the pshared bit when first loading
the type, since every subsequent access involves a mask anyway. not
masking it may avoid a subsequent load to check the pshared flag, and
it's just simpler.
Rich Felker 6 år sedan
förälder
incheckning
2142cafdc7
1 ändrade filer med 2 tillägg och 2 borttagningar
  1. 2 2
      src/thread/pthread_mutex_trylock.c

+ 2 - 2
src/thread/pthread_mutex_trylock.c

@@ -3,7 +3,7 @@
 int __pthread_mutex_trylock_owner(pthread_mutex_t *m)
 {
 	int old, own;
-	int type = m->_m_type & 15;
+	int type = m->_m_type;
 	pthread_t self = __pthread_self();
 	int tid = self->tid;
 
@@ -17,7 +17,7 @@ int __pthread_mutex_trylock_owner(pthread_mutex_t *m)
 	if (own == 0x3fffffff) return ENOTRECOVERABLE;
 	if (own || (old && !(type & 4))) return EBUSY;
 
-	if (m->_m_type & 128) {
+	if (type & 128) {
 		if (!self->robust_list.off) {
 			self->robust_list.off = (char*)&m->_m_lock-(char *)&m->_m_next;
 			__syscall(SYS_set_robust_list, &self->robust_list, 3*sizeof(long));