From: Kurt Zeilenga Date: Wed, 4 May 2005 00:40:37 +0000 (+0000) Subject: Import impoved thread set stack size support X-Git-Tag: OPENLDAP_REL_ENG_2_2_27~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abf17dce45e30132c3e6211623bb0e28b4bced14;p=thirdparty%2Fopenldap.git Import impoved thread set stack size support --- diff --git a/CHANGES b/CHANGES index 406bbbb602..9ff1dde11a 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,8 @@ OpenLDAP 2.2 Change Log OpenLDAP 2.2.27 Engineering Fixed ACL val default style parsing crasher (ITS#3700) + Build Environment + Improved thread set stack size support OpenLDAP 2.2.26 Release Fixed back-bdb ldapadd ctxcsn crash (ITS#3685) diff --git a/include/ldap_pvt_thread.h b/include/ldap_pvt_thread.h index a10bbd4c1b..af13168e14 100644 --- a/include/ldap_pvt_thread.h +++ b/include/ldap_pvt_thread.h @@ -44,9 +44,13 @@ ldap_pvt_thread_set_concurrency LDAP_P(( int )); #define LDAP_PVT_THREAD_CREATE_JOINABLE 0 #define LDAP_PVT_THREAD_CREATE_DETACHED 1 +#define LDAP_PVT_THREAD_SET_STACK_SIZE #ifndef LDAP_PVT_THREAD_STACK_SIZE - /* LARGE stack */ -#define LDAP_PVT_THREAD_STACK_SIZE (4*1024*1024) + /* LARGE stack. Will be twice as large on 64 bit machine. */ +#define LDAP_PVT_THREAD_STACK_SIZE ( 1 * 1024 * 1024 * sizeof(void *) ) +/* May be explicitly defined to zero to disable it */ +#elif LDAP_PVT_THREAD_STACK_SIZE == 0 +#undef LDAP_PVT_THREAD_SET_STACK_SIZE #endif LDAP_F( int ) diff --git a/libraries/libldap_r/thr_posix.c b/libraries/libldap_r/thr_posix.c index 176cd55215..0d353206fa 100644 --- a/libraries/libldap_r/thr_posix.c +++ b/libraries/libldap_r/thr_posix.c @@ -110,7 +110,7 @@ ldap_pvt_thread_create( ldap_pvt_thread_t * thread, pthread_attr_create(&attr); #endif -#if defined(LDAP_PVT_THREAD_STACK_SIZE) && LDAP_PVT_THREAD_STACK_SIZE > 0 +#ifdef LDAP_PVT_THREAD_SET_STACK_SIZE /* this should be tunable */ pthread_attr_setstacksize( &attr, LDAP_PVT_THREAD_STACK_SIZE ); #endif