diff options
Diffstat (limited to 'src/thread')
-rw-r--r-- | src/thread/pthread_exit.c | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/src/thread/pthread_exit.c b/src/thread/pthread_exit.c deleted file mode 100644 index 4966e234..00000000 --- a/src/thread/pthread_exit.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "pthread_impl.h" - -#undef pthread_self - -void pthread_exit(void *result) -{ - int i; - struct pthread *self = pthread_self(); - self->result = result; - - a_dec(&libc.threads_minus_1); - if (libc.threads_minus_1 < 0) - exit(0); - - LOCK(&self->exitlock); - - if (self->tsd_used) for (i=0; i<PTHREAD_KEYS_MAX; i++) - if (self->tsd[i] && libc.tsd_keys[i]) - libc.tsd_keys[i](self->tsd[i]); - - if (self->detached && self->map_base) - __unmapself(self->map_base, self->map_size); - - __syscall_exit(0); -} |