about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-09-09 23:10:27 -0400
committerRich Felker <dalias@aerifal.cx>2011-09-09 23:10:27 -0400
commiteb351a9e633e5893f0c3bb48808c3ed0280585b5 (patch)
treee7172e2c99694f88710cd322611af2273b7ad8d1
parentb4de6f93aed733b8fc8d103e5ced69ebe7d659e6 (diff)
downloadmusl-eb351a9e633e5893f0c3bb48808c3ed0280585b5.tar.gz
musl-eb351a9e633e5893f0c3bb48808c3ed0280585b5.tar.xz
musl-eb351a9e633e5893f0c3bb48808c3ed0280585b5.zip
fix pthread_join wait call: thread termination tid futex is not private
this seeme to be the bug that prevented enabling of private futex
support. i'm going to hold off on switching to private futexes until
after the next release, and until i get a chance to audit all
wait/wake calls to make sure they're using the correct private
argument, but with this change it should be safe to enable private
futex support.
-rw-r--r--src/thread/pthread_join.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/thread/pthread_join.c b/src/thread/pthread_join.c
index 664abda9..1b0c4f35 100644
--- a/src/thread/pthread_join.c
+++ b/src/thread/pthread_join.c
@@ -7,7 +7,7 @@ static void dummy(void *p)
 int pthread_join(pthread_t t, void **res)
 {
 	int tmp = t->tid;
-	if (tmp) __timedwait(&t->tid, tmp, 0, 0, dummy, 0, 1);
+	if (tmp) __timedwait(&t->tid, tmp, 0, 0, dummy, 0, 0);
 	if (res) *res = t->result;
 	if (t->map_base) munmap(t->map_base, t->map_size);
 	return 0;