mirror of
https://github.com/fluencelabs/musl
synced 2025-04-25 07:12:15 +00:00
fix namespace issue in pthread_join affecting thrd_join
pthread_testcancel is not in the ISO C reserved namespace and thus cannot be used here. use the namespace-protected version of the function instead.
This commit is contained in:
parent
5451d95715
commit
a3de8f7fbc
@ -2,11 +2,12 @@
|
|||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
|
||||||
int __munmap(void *, size_t);
|
int __munmap(void *, size_t);
|
||||||
|
void __pthread_testcancel(void);
|
||||||
|
|
||||||
int __pthread_join(pthread_t t, void **res)
|
int __pthread_join(pthread_t t, void **res)
|
||||||
{
|
{
|
||||||
int tmp;
|
int tmp;
|
||||||
pthread_testcancel();
|
__pthread_testcancel();
|
||||||
while ((tmp = t->tid)) __timedwait_cp(&t->tid, tmp, 0, 0, 0);
|
while ((tmp = t->tid)) __timedwait_cp(&t->tid, tmp, 0, 0, 0);
|
||||||
if (res) *res = t->result;
|
if (res) *res = t->result;
|
||||||
if (t->map_base) __munmap(t->map_base, t->map_size);
|
if (t->map_base) __munmap(t->map_base, t->map_size);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user