/[hurd]/hurd/libpthread/sysdeps/generic/pt-cond-timedwait.c
ViewVC logotype

Diff of /hurd/libpthread/sysdeps/generic/pt-cond-timedwait.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by neal, Thu Oct 10 23:05:06 2002 UTC revision 1.2 by neal, Mon Nov 18 22:20:58 2002 UTC
# Line 73  __pthread_cond_timedwait_internal (pthre Line 73  __pthread_cond_timedwait_internal (pthre
73    pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, &canceltype);    pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, &canceltype);
74    
75    if (abstime)    if (abstime)
76      err = __pthread_timedblock (self, abstime);      {
77          error_t err;
78    
79          err = __pthread_timedblock (self, abstime);
80          if (err)
81            /* We timed out.  We may need to disconnect ourself from the
82               waiter queue.
83    
84               FIXME: What do we do if we get a wakeup message before we
85               disconnect ourself?  It may remain until the next time we
86               block.  */
87            {
88              assert (err == ETIMEDOUT);
89    
90              __pthread_spin_lock (&mutex->__lock);
91              if (self->prevp)
92                __pthread_dequeue (self);
93              __pthread_spin_unlock (&mutex->__lock);
94    
95              return err;
96            }
97        }
98    else    else
99      {      {
100        err = 0;        err = 0;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26