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.
This commit is contained in:
Ulrich Drepper 2003-03-27 19:10:51 +00:00
parent 0d5420ec80
commit c75d02f056
4 changed files with 21 additions and 9 deletions

View 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

View 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

View 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
}

View 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;