aboutsummaryrefslogtreecommitdiff
path: root/libthreads/cprocs.c
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@schwinge.name>2011-10-20 12:56:29 +0200
committerThomas Schwinge <thomas@schwinge.name>2011-10-20 12:56:29 +0200
commit127352671f6dca8572a8d310b162ccff32463ec5 (patch)
treec9ac850d55e28344d98f551fadadf8d19ff84a49 /libthreads/cprocs.c
parent04db20c2fb450fc27300991eb029888487b580a0 (diff)
parente24c161e9d16483a1d97402557f7756e26afb6cf (diff)
downloadhurd-127352671f6dca8572a8d310b162ccff32463ec5.tar.gz
hurd-127352671f6dca8572a8d310b162ccff32463ec5.tar.bz2
hurd-127352671f6dca8572a8d310b162ccff32463ec5.zip
Merge branch 'tls/libthreads'
Conflicts: libthreads/ChangeLog
Diffstat (limited to 'libthreads/cprocs.c')
-rw-r--r--libthreads/cprocs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libthreads/cprocs.c b/libthreads/cprocs.c
index 2195039c..7f63fc0d 100644
--- a/libthreads/cprocs.c
+++ b/libthreads/cprocs.c
@@ -725,10 +725,11 @@ cproc_create(void)
spin_lock(&n_kern_lock);
if (cthread_max_kernel_threads == 0 ||
cthread_kernel_threads < cthread_max_kernel_threads) {
+ tcbhead_t *tcb = _dl_allocate_tls(NULL);
cthread_kernel_threads++;
spin_unlock(&n_kern_lock);
MACH_CALL(thread_create(mach_task_self(), &n), r);
- cproc_setup(child, n, cthread_body); /* machine dependent */
+ cproc_setup(child, n, tcb, cthread_body); /* machine dependent */
MACH_CALL(thread_resume(n), r);
#ifdef STATISTICS
spin_lock(&ready_lock);