mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-27 18:19:52 -05:00
Fix LDAP_PVT_THREAD_STACK_SIZE, automatically scale up on 64 bit machines
This commit is contained in:
parent
09ae896b28
commit
5608206da2
3 changed files with 8 additions and 4 deletions
|
|
@ -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 )
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ ldap_int_thread_initialize( void )
|
|||
}
|
||||
detach_attr = pth_attr_new();
|
||||
joined_attr = pth_attr_new();
|
||||
#if LDAP_PVT_THREAD_STACK_SIZE
|
||||
#ifdef LDAP_PVT_THREAD_SET_STACK_SIZE
|
||||
pth_attr_set( joined_attr, PTH_ATTR_STACK_SIZE, LDAP_PVT_THREAD_STACK_SIZE );
|
||||
pth_attr_set( detach_attr, PTH_ATTR_STACK_SIZE, LDAP_PVT_THREAD_STACK_SIZE );
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue