From c594916b7a30516eff15698d7cc1f8e440a55a3d Mon Sep 17 00:00:00 2001 From: forsyth Date: Sun, 19 Jun 2011 15:43:13 -0700 Subject: 20110619-2343 --- emu/port/kproc-pthreads.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'emu/port/kproc-pthreads.c') diff --git a/emu/port/kproc-pthreads.c b/emu/port/kproc-pthreads.c index b48a00bb..32053794 100644 --- a/emu/port/kproc-pthreads.c +++ b/emu/port/kproc-pthreads.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -81,6 +82,14 @@ tramp(void *arg) os->self = pthread_self(); if(pthread_setspecific(prdakey, arg)) panic("set specific data failed in tramp\n"); + if(0){ + pthread_attr_t attr; + memset(&attr, 0, sizeof(attr)); + pthread_getattr_np(pthread_self(), &attr); + size_t s; + pthread_attr_getstacksize(&attr, &s); + print("stack size = %d\n", s); + } p->func(p->arg); pexit("{Tramp}", 0); return nil; @@ -150,7 +159,7 @@ kproc(char *name, void (*func)(void*), void *arg, int flags) if(flags & KPX11) pthread_attr_setstacksize(&attr, 512*1024); /* could be a parameter */ else if(KSTACK > 0) - pthread_attr_setstacksize(&attr, KSTACK); + pthread_attr_setstacksize(&attr, (KSTACK < PTHREAD_STACK_MIN? PTHREAD_STACK_MIN: KSTACK)+1024); pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); if(pthread_create(&thread, &attr, tramp, p)) -- cgit v1.2.3