1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

FUTEX_*_REQUEUE_PI support for non-x86 code

Add FUTEX_*_REQUEUE_PI support for the default C code and also add
implementations for s-390 and ppc.
This commit is contained in:
Siddhesh Poyarekar
2013-02-18 16:07:10 +05:30
parent f78b5caa6e
commit 8313cb997d
10 changed files with 261 additions and 46 deletions

View File

@ -577,4 +577,16 @@ extern void __wait_lookup_done (void) attribute_hidden;
# define PTHREAD_STATIC_FN_REQUIRE(name) __asm (".globl " #name);
#endif
/* Test if the mutex is suitable for the FUTEX_WAIT_REQUEUE_PI operation. */
#if (defined lll_futex_wait_requeue_pi \
&& defined __ASSUME_REQUEUE_PI)
# define USE_REQUEUE_PI(mut) \
((mut) && (mut) != (void *) ~0l \
&& (((mut)->__data.__kind \
& (PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NORMAL_NP)) \
== PTHREAD_MUTEX_PRIO_INHERIT_NP))
#else
# define USE_REQUEUE_PI(mut) 0
#endif
#endif /* pthreadP.h */