| Index: fusl/src/thread/pthread_detach.c
|
| diff --git a/fusl/src/thread/pthread_detach.c b/fusl/src/thread/pthread_detach.c
|
| index ed77f74d520bff3a16ef5e055f08bbf021fe91d4..3a5f70d87ff0e76d9222edf5c756b88ed264e8df 100644
|
| --- a/fusl/src/thread/pthread_detach.c
|
| +++ b/fusl/src/thread/pthread_detach.c
|
| @@ -1,16 +1,15 @@
|
| #include "pthread_impl.h"
|
| #include <threads.h>
|
|
|
| -int __pthread_join(pthread_t, void **);
|
| +int __pthread_join(pthread_t, void**);
|
|
|
| -static int __pthread_detach(pthread_t t)
|
| -{
|
| - /* Cannot detach a thread that's already exiting */
|
| - if (a_swap(t->exitlock, 1))
|
| - return __pthread_join(t, 0);
|
| - t->detached = 2;
|
| - __unlock(t->exitlock);
|
| - return 0;
|
| +static int __pthread_detach(pthread_t t) {
|
| + /* Cannot detach a thread that's already exiting */
|
| + if (a_swap(t->exitlock, 1))
|
| + return __pthread_join(t, 0);
|
| + t->detached = 2;
|
| + __unlock(t->exitlock);
|
| + return 0;
|
| }
|
|
|
| weak_alias(__pthread_detach, pthread_detach);
|
|
|