pthread_join() caller do futex_wait on child_clear_tid. As a results

of multiple simultaneous calls to pthread_join() specifying the same
target thread are undefined wake up the one thread.

Differential Revision:	https://reviews.freebsd.org/D1040
This commit is contained in:
Dmitry Chagin 2015-05-24 14:54:12 +00:00
parent 81338031c4
commit 5e609834bd

View File

@ -270,7 +270,7 @@ linux_thread_detach(struct thread *td)
cup.uaddr = child_clear_tid;
cup.op = LINUX_FUTEX_WAKE;
cup.val = 0x7fffffff; /* Awake everyone */
cup.val = 1; /* wake one */
cup.timeout = NULL;
cup.uaddr2 = NULL;
cup.val3 = 0;