summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
f0a8d60)
the vm lock only waits for threads in the same process exiting.
actually this fix is not enough, but it's a start...
int pthread_barrier_destroy(pthread_barrier_t *b)
{
if (b->_b_limit < 0) {
int pthread_barrier_destroy(pthread_barrier_t *b)
{
if (b->_b_limit < 0) {
+ int seq = b->_b_seq;
+ if (seq & 1) __wait(&b->_b_seq, 0, seq, 0);
__vm_lock(-1);
__vm_unlock();
}
__vm_lock(-1);
__vm_unlock();
}