mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
Enable common version of pthread_cond_timedwait to use clock_gettime in VDSO
This commit is contained in:
parent
7d9335ecd7
commit
7749bf5fe6
@ -1,3 +1,10 @@
|
||||
2010-03-23 Luis Machado <luisgpm@br.ibm.com>
|
||||
|
||||
* pthread_cond_timedwait.c: Add check for
|
||||
HAVE_CLOCK_GETTIME_VSYSCALL to use VDSO whenever possible.
|
||||
(pthread_cond_timedwait): Use INTERNAL_VSYSCALL instead of
|
||||
INTERNAL_SYSCALL.
|
||||
|
||||
2010-03-09 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* pthread_create.c (__pthread_create_2_1): If priorities are incorrect
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2003, 2004, 2007, 2010 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
|
||||
|
||||
@ -27,6 +27,14 @@
|
||||
|
||||
#include <shlib-compat.h>
|
||||
|
||||
#ifndef HAVE_CLOCK_GETTIME_VSYSCALL
|
||||
# undef INTERNAL_VSYSCALL
|
||||
# define INTERNAL_VSYSCALL INTERNAL_SYSCALL
|
||||
# undef INLINE_VSYSCALL
|
||||
# define INLINE_VSYSCALL INLINE_SYSCALL
|
||||
#else
|
||||
# include <bits/libc-vdso.h>
|
||||
#endif
|
||||
|
||||
/* Cleanup handler, defined in pthread_cond_wait.c. */
|
||||
extern void __condvar_cleanup (void *arg)
|
||||
@ -102,7 +110,7 @@ __pthread_cond_timedwait (cond, mutex, abstime)
|
||||
#ifdef __NR_clock_gettime
|
||||
INTERNAL_SYSCALL_DECL (err);
|
||||
int ret;
|
||||
ret = INTERNAL_SYSCALL (clock_gettime, err, 2,
|
||||
ret = INTERNAL_VSYSCALL (clock_gettime, err, 2,
|
||||
(cond->__data.__nwaiters
|
||||
& ((1 << COND_NWAITERS_SHIFT) - 1)),
|
||||
&rt);
|
||||
|
Loading…
Reference in New Issue
Block a user