summaryrefslogtreecommitdiff
path: root/pthread/pt-detach.c
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2005-05-04 16:04:06 +0000
committerNeal H. Walfield <neal@gnu.org>2005-05-04 16:04:06 +0000
commit317c73af1d3142947ba5f5d2f5251c4a34abda52 (patch)
tree30eec32b35610075d5313565a332cfc9a6d8ddee /pthread/pt-detach.c
parent6c7755ebb4718153b144b59f9becbf1b5e785f02 (diff)
libpthread/
2005-05-04 Neal H. Walfield <neal@gnu.org> * Makefile (SRCS): Add pt-thread_dealloc.c. * sysdeps/mach/pt-thread-dealloc.c: New file. * pthread/pt-internal.h (__pthread_thread_dealloc): New declaration. (__pthread_thread_halt): Add parameter NEED_DEALLOC. Update callers. * sysdeps/mach/pt-thread-halt.c (__pthread_thread_halt): Respect new NEED_DEALLOC parameter. Move code which deallocates kernel resources from here ... * sysdeps/mach/pt-thread-dealloc.c (__pthread_thread_dealloc): ...to here. * pthread/pt-create.c (__pthread_create_internal): Call __pthread_thread_dealloc on failure. * pthread/pt-exit.c (pthread_exit): Call __pthread_thread_dealloc. * sysdeps/mach/pt-thread-alloc.c (create_wakeupmsg): Call __mach_port_destroy to deallocate the receive right. __mach_port_deallocate won't do it. * pthread/pt-detach.c (pthread_detach): Don't call __pthread_thread_halt a second time. * sysdeps/mach/hurd/pt-sysdep.c (_cthread_init_routine): Fix declaration. (init_routine): Update declaration and remove gratuitous cast.
Diffstat (limited to 'pthread/pt-detach.c')
-rw-r--r--pthread/pt-detach.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/pthread/pt-detach.c b/pthread/pt-detach.c
index c22f6a03..42a84080 100644
--- a/pthread/pt-detach.c
+++ b/pthread/pt-detach.c
@@ -1,5 +1,5 @@
/* Detach a thread.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -58,8 +58,6 @@ pthread_detach (pthread_t thread)
__pthread_mutex_unlock (&pthread->state_lock);
- __pthread_thread_halt (pthread);
-
assert (pthread->stack);
__pthread_stack_dealloc (pthread->stackaddr, pthread->stacksize);
pthread->stack = 0;