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 ae0ab1c5b665af9a8180d0b9bdb89152806bfbed..56e19348ece8fcb8152e4ad10410eb91b35a176b 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 13d8465a450552bf418f05ac06a3d81176c5b118..d2079c882199200641e201a23b78bf29a32d1805 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 06b83db9262a56e5b19ba1116f02c389398ea546..cc2a8bbf58a9cfee193d7f30bf2bcfd778debe7a 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 3526ecfb6d2eee92817dd00da769fe9dc3bdb4f4..ed8569c27e4802df950a0ce29e2e4c7f8735934e 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);
 }