Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 9 Jun 2000 04:59:48 +0000 (04:59 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 9 Jun 2000 04:59:48 +0000 (04:59 +0000)
* sysdeps/pthread/timer_routines.c (__timer_thread_queue_timer):
Be prepared for empty timer list.

linuxthreads/ChangeLog
linuxthreads/sysdeps/pthread/timer_routines.c

index fcb9f9a..8e19b89 100644 (file)
@@ -1,5 +1,8 @@
 2000-06-08  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/pthread/timer_routines.c (__timer_thread_queue_timer):
+       Be prepared for empty timer list.
+
        * sysdeps/pthread/timer_create.c (timer_create): Correct names of
        CPUTIME clock ID.  Add support for thread clocks.
 
index becb110..8d45f05 100644 (file)
@@ -374,8 +374,8 @@ thread_func (void *arg)
 
              list_unlink (first);
 
-             if (timer->value.it_interval.tv_sec
-                 || timer->value.it_interval.tv_nsec)
+             if (__builtin_expect (timer->value.it_interval.tv_sec, 0) != 0
+                 || timer->value.it_interval.tv_nsec != 0)
                {
                  timespec_add (&timer->expirytime, &now,
                                &timer->value.it_interval);
@@ -433,7 +433,7 @@ __timer_thread_queue_timer (struct thread_node *thread,
        }
     }
 
-  if (insert->clock != timer->clock)
+  if (timer != NULL && insert->clock != timer->clock)
     {
       if (matching == NULL)
        /* We cannot queue this timer.  */
@@ -456,7 +456,6 @@ __timer_thread_start (struct thread_node *thread)
   int retval = 1;
 
   assert (!thread->exists);
-
   thread->exists = 1;
 
   if (pthread_create (&thread->id, &thread->attr, thread_func, thread) != 0)