summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_create.c
diff options
context:
space:
mode:
authormtm <mtm@FreeBSD.org>2003-05-26 00:37:07 +0000
committermtm <mtm@FreeBSD.org>2003-05-26 00:37:07 +0000
commit23f766944414893832e8a3d10afbceded194916f (patch)
tree4913d71c40094f5da6427b152c90be36f35dfdd6 /lib/libthr/thread/thr_create.c
parent3440accd67bef89b04b9c16c578fd05c6de445b3 (diff)
downloadFreeBSD-src-23f766944414893832e8a3d10afbceded194916f.zip
FreeBSD-src-23f766944414893832e8a3d10afbceded194916f.tar.gz
Decouple the thread stack [de]allocating functions from the 'dead threads list'
lock. It's not really necessary and we don't need the added complexity or potential for deadlocks. Approved by: re/blanket libthr
Diffstat (limited to 'lib/libthr/thread/thr_create.c')
-rw-r--r--lib/libthr/thread/thr_create.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/libthr/thread/thr_create.c b/lib/libthr/thread/thr_create.c
index 5b0158d..c86f244 100644
--- a/lib/libthr/thread/thr_create.c
+++ b/lib/libthr/thread/thr_create.c
@@ -119,11 +119,10 @@ _pthread_create(pthread_t * thread, const pthread_attr_t * attr,
new_thread->arch_id = _set_curthread(&new_thread->ctx, new_thread, &ret);
if (ret != 0) {
if (pattr->stackaddr_attr == NULL) {
- /* XXX - We really need to decouple from this lock */
- DEAD_LIST_LOCK;
+ STACK_LOCK;
_thread_stack_free(new_thread->stack,
pattr->stacksize_attr, pattr->guardsize_attr);
- DEAD_LIST_UNLOCK;
+ STACK_UNLOCK;
}
free(new_thread);
return (ret);
OpenPOWER on IntegriCloud