projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
include dummied-out dlopen and dlsym functions for static binaries
[musl]
/
src
/
thread
/
pthread_barrier_wait.c
diff --git
a/src/thread/pthread_barrier_wait.c
b/src/thread/pthread_barrier_wait.c
index
71f7b5f
..
6052925
100644
(file)
--- a/
src/thread/pthread_barrier_wait.c
+++ b/
src/thread/pthread_barrier_wait.c
@@
-13,9
+13,9
@@
void __vm_lock(int inc)
void __vm_unlock(void)
{
void __vm_unlock(void)
{
- i
f (vmlock[0]>0) a_dec(vmlock)
;
- else a_inc(vmlock);
-
if (vmlock[1]) __wake(vmlock,
1, 1);
+ i
nt inc = vmlock[0]>0 ? -1 : 1
;
+ if (a_fetch_add(vmlock, inc)==-inc && vmlock[1])
+
__wake(vmlock, -
1, 1);
}
static int pshared_barrier_wait(pthread_barrier_t *b)
}
static int pshared_barrier_wait(pthread_barrier_t *b)