Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 452184 | Differences between
and this patch

Collapse All | Expand All

(-)a/nptl/pthread_mutex_trylock.c (-1 / +2 lines)
Lines 239-245 __pthread_mutex_trylock (mutex) Link Here
239
							  private), 0, 0);
239
							  private), 0, 0);
240
240
241
	    if (INTERNAL_SYSCALL_ERROR_P (e, __err)
241
	    if (INTERNAL_SYSCALL_ERROR_P (e, __err)
242
		&& INTERNAL_SYSCALL_ERRNO (e, __err) == EWOULDBLOCK)
242
		&& ((INTERNAL_SYSCALL_ERRNO (e, __err) == EWOULDBLOCK)
243
		    || (INTERNAL_SYSCALL_ERRNO (e, __err) == EAGAIN)))
243
	      {
244
	      {
244
		THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending, NULL);
245
		THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending, NULL);
245
246
(-)a/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c (-1 / +1 lines)
Lines 94-100 sem_timedwait (sem_t *sem, const struct timespec *abstime) Link Here
94
      rt.tv_sec = sec;
94
      rt.tv_sec = sec;
95
      rt.tv_nsec = nsec;
95
      rt.tv_nsec = nsec;
96
      err = do_futex_timed_wait(isem, &rt);
96
      err = do_futex_timed_wait(isem, &rt);
97
      if (err != 0 && err != -EWOULDBLOCK)
97
      if (err != 0 && err != -EWOULDBLOCK && err != -EAGAIN)
98
	{
98
	{
99
	  __set_errno (-err);
99
	  __set_errno (-err);
100
	  err = -1;
100
	  err = -1;
(-)a/nptl/sysdeps/unix/sysv/linux/sem_wait.c (-2 / +2 lines)
Lines 67-73 __new_sem_wait (sem_t *sem) Link Here
67
  while (1)
67
  while (1)
68
    {
68
    {
69
      err = do_futex_wait(isem);
69
      err = do_futex_wait(isem);
70
      if (err != 0 && err != -EWOULDBLOCK)
70
      if (err != 0 && err != -EWOULDBLOCK && err != -EAGAIN)
71
	{
71
	{
72
	  __set_errno (-err);
72
	  __set_errno (-err);
73
	  err = -1;
73
	  err = -1;
Lines 112-118 __old_sem_wait (sem_t *sem) Link Here
112
      /* Disable asynchronous cancellation.  */
112
      /* Disable asynchronous cancellation.  */
113
      __pthread_disable_asynccancel (oldtype);
113
      __pthread_disable_asynccancel (oldtype);
114
    }
114
    }
115
  while (err == 0 || err == -EWOULDBLOCK);
115
  while (err == 0 || err == -EWOULDBLOCK || err == -EAGAIN);
116
116
117
  __set_errno (-err);
117
  __set_errno (-err);
118
  return -1;
118
  return -1;

Return to bug 452184