Browse Source

fix crash in pthread_cond_wait mutex-locked check

it was assuming the result of the condition it was supposed to be
checking for, i.e. that the thread ptr had already been initialized by
pthread_mutex_lock. use the slower call to be safe.
rs-1.0
Rich Felker 15 years ago
parent
commit
3ac092bd7d
  1. 2
      src/thread/pthread_cond_timedwait.c

2
src/thread/pthread_cond_timedwait.c

@ -37,7 +37,7 @@ int pthread_cond_timedwait(pthread_cond_t *c, pthread_mutex_t *m, const struct t
struct cm cm = { .c=c, .m=m };
int r, e=0, seq;
if (m->_m_type && (m->_m_lock&INT_MAX) != __pthread_self()->tid)
if (m->_m_type && (m->_m_lock&INT_MAX) != pthread_self()->tid)
return EPERM;
if (ts && ts->tv_nsec >= 1000000000UL)

Loading…
Cancel
Save