unify the use of FUTEX_PRIVATE
authorJens Gustedt <Jens.Gustedt@inria.fr>
Sat, 24 Jun 2017 08:18:05 +0000 (10:18 +0200)
committerRich Felker <dalias@aerifal.cx>
Tue, 4 Jul 2017 21:12:52 +0000 (17:12 -0400)
The flag 1<<7 is used in several places for different purposes that are
not always easy to distinguish. Mark those usages that correspond to the
flag that is used by the kernel for futexes.

src/internal/pthread_impl.h
src/thread/__timedwait.c
src/thread/pthread_barrier_wait.c
src/thread/pthread_cond_timedwait.c

index ae0ab1c..56e1934 100644 (file)
@@ -131,7 +131,7 @@ int __timedwait_cp(volatile int *, int, clockid_t, const struct timespec *, int)
 void __wait(volatile int *, volatile int *, int, int);
 static inline void __wake(volatile void *addr, int cnt, int priv)
 {
-       if (priv) priv = 128;
+       if (priv) priv = FUTEX_PRIVATE;
        if (cnt<0) cnt = INT_MAX;
        __syscall(SYS_futex, addr, FUTEX_WAKE|priv, cnt) != -ENOSYS ||
        __syscall(SYS_futex, addr, FUTEX_WAKE, cnt);
index 13d8465..d2079c8 100644 (file)
@@ -14,7 +14,7 @@ int __timedwait_cp(volatile int *addr, int val,
        int r;
        struct timespec to, *top=0;
 
-       if (priv) priv = 128;
+       if (priv) priv = FUTEX_PRIVATE;
 
        if (at) {
                if (at->tv_nsec >= 1000000000UL) return EINVAL;
index 06b83db..cc2a8bb 100644 (file)
@@ -84,7 +84,7 @@ int pthread_barrier_wait(pthread_barrier_t *b)
                        a_spin();
                a_inc(&inst->finished);
                while (inst->finished == 1)
-                       __syscall(SYS_futex,&inst->finished,FUTEX_WAIT|128,1,0) != -ENOSYS
+                       __syscall(SYS_futex,&inst->finished,FUTEX_WAIT|FUTEX_PRIVATE,1,0) != -ENOSYS
                        || __syscall(SYS_futex,&inst->finished,FUTEX_WAIT,1,0);
                return PTHREAD_BARRIER_SERIAL_THREAD;
        }
index 3526ecf..ed8569c 100644 (file)
@@ -54,7 +54,7 @@ static inline void unlock_requeue(volatile int *l, volatile int *r, int w)
 {
        a_store(l, 0);
        if (w) __wake(l, 1, 1);
-       else __syscall(SYS_futex, l, FUTEX_REQUEUE|128, 0, 1, r) != -ENOSYS
+       else __syscall(SYS_futex, l, FUTEX_REQUEUE|FUTEX_PRIVATE, 0, 1, r) != -ENOSYS
                || __syscall(SYS_futex, l, FUTEX_REQUEUE, 0, 1, r);
 }