projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor adjtimex in terms of clock_adjtime
[musl]
/
src
/
thread
/
pthread_barrier_wait.c
diff --git
a/src/thread/pthread_barrier_wait.c
b/src/thread/pthread_barrier_wait.c
index
bfeb346
..
cc2a8bb
100644
(file)
--- a/
src/thread/pthread_barrier_wait.c
+++ b/
src/thread/pthread_barrier_wait.c
@@
-1,8
+1,5
@@
#include "pthread_impl.h"
#include "pthread_impl.h"
-void __vm_lock_impl(int);
-void __vm_unlock_impl(void);
-
static int pshared_barrier_wait(pthread_barrier_t *b)
{
int limit = (b->_b_limit & INT_MAX) + 1;
static int pshared_barrier_wait(pthread_barrier_t *b)
{
int limit = (b->_b_limit & INT_MAX) + 1;
@@
-26,7
+23,7
@@
static int pshared_barrier_wait(pthread_barrier_t *b)
__wait(&b->_b_count, &b->_b_waiters2, v, 0);
}
__wait(&b->_b_count, &b->_b_waiters2, v, 0);
}
- __vm_lock
_impl(+1
);
+ __vm_lock
(
);
/* Ensure all threads have a vm lock before proceeding */
if (a_fetch_add(&b->_b_count, -1)==1-limit) {
/* Ensure all threads have a vm lock before proceeding */
if (a_fetch_add(&b->_b_count, -1)==1-limit) {
@@
-47,7
+44,7
@@
static int pshared_barrier_wait(pthread_barrier_t *b)
if (v==INT_MIN+1 || (v==1 && w))
__wake(&b->_b_lock, 1, 0);
if (v==INT_MIN+1 || (v==1 && w))
__wake(&b->_b_lock, 1, 0);
- __vm_unlock
_impl
();
+ __vm_unlock();
return ret;
}
return ret;
}
@@
-87,7
+84,7
@@
int pthread_barrier_wait(pthread_barrier_t *b)
a_spin();
a_inc(&inst->finished);
while (inst->finished == 1)
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;
}
|| __syscall(SYS_futex,&inst->finished,FUTEX_WAIT,1,0);
return PTHREAD_BARRIER_SERIAL_THREAD;
}