Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 27 Mar 2003 19:10:51 +0000 (19:10 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 27 Mar 2003 19:10:51 +0000 (19:10 +0000)
2003-03-27  Ulrich Drepper  <drepper@redhat.com>

* sysdeps/unix/sysv/linux/timer_delete.c (timer_delete): Even if
timer_delete syscall fails, but not with ENOSYS, set
__no_posix_timers.

* sysdeps/unix/sysv/linux/timer_settime.c [!__ASSUME_POSIX_TIMERS]
(timer_settime): Fix typo.

nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/timer_create.c
nptl/sysdeps/unix/sysv/linux/timer_delete.c
nptl/sysdeps/unix/sysv/linux/timer_settime.c

index 10407bf..5571d42 100644 (file)
@@ -1,3 +1,12 @@
+2003-03-27  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/timer_delete.c (timer_delete): Even if
+       timer_delete syscall fails, but not with ENOSYS, set
+       __no_posix_timers.
+
+       * sysdeps/unix/sysv/linux/timer_settime.c [!__ASSUME_POSIX_TIMERS]
+       (timer_settime): Fix typo.
+
 2003-03-27  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Fix
index 9e6b53e..97ffb6d 100644 (file)
@@ -115,6 +115,12 @@ timer_create (clock_id, evp, timerid)
            }
 
          free (newp);
+
+# ifndef __ASSUME_POSIX_TIMERS
+         /* When we come here the syscall does not exist.  Make sure we
+            do not try to use it again.  */
+         __no_posix_timers = -1;
+# endif
        }
       else
        {
@@ -224,12 +230,6 @@ timer_create (clock_id, evp, timerid)
              return -1;
            }
        }
-
-# ifndef __ASSUME_POSIX_TIMERS
-      /* When we come here the syscall does not exist.  Make sure we
-        do not try to use it again.  */
-      __no_posix_timers = -1;
-# endif
     }
 
 # ifndef __ASSUME_POSIX_TIMERS
index cf63364..9028dc4 100644 (file)
@@ -72,10 +72,13 @@ timer_delete (timerid)
         Return the error.  */
 # ifndef __ASSUME_POSIX_TIMERS
       if (errno != ENOSYS)
+       {
+         __no_posix_timers = 1;
 # endif
-       return -1;
-
+         return -1;
 # ifndef __ASSUME_POSIX_TIMERS
+       }
+
       __no_posix_timers = -1;
 # endif
     }
index 7fc837c..37ebf1d 100644 (file)
@@ -46,7 +46,7 @@ timer_settime (timerid, flags, value, ovalue)
 {
 # undef timer_settime
 # ifndef __ASSUME_POSIX_TIMERS
-  if (__no_posix_timers == 0)
+  if (__no_posix_timers >= 0)
 # endif
     {
       struct timer *kt = (struct timer *) timerid;