X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Finit.c;h=8cf3c7ae0e1fe3fc1874f783b5fe47cf1f68c278;hb=a4d161cff64c74e03e5898eae104d5d52cc54a91;hp=edc1689311e648eae8e9ba2fa3ea7f0ce3418f67;hpb=975de9aa5be382ba45f54c6c094339f76b01fea3;p=openldap diff --git a/servers/slapd/init.c b/servers/slapd/init.c index edc1689311..8cf3c7ae0e 100644 --- a/servers/slapd/init.c +++ b/servers/slapd/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2005 The OpenLDAP Foundation. + * Copyright 1998-2006 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -67,6 +67,7 @@ struct berval NoAttrs = BER_BVC( LDAP_NO_ATTRS ); */ ldap_pvt_thread_pool_t connection_pool; int connection_pool_max = SLAP_MAX_WORKER_THREADS; +int slap_tool_thread_max = 1; #ifndef HAVE_GMTIME_R ldap_pvt_thread_mutex_t gmtime_mutex; #endif @@ -93,7 +94,7 @@ slap_init( int mode, const char *name ) if ( slapMode != SLAP_UNDEFINED_MODE ) { /* Make sure we write something to stderr */ - ldap_debug |= 1; + slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY, "%s init: init called twice (old=%d, new=%d)\n", name, slapMode, mode ); @@ -105,7 +106,7 @@ slap_init( int mode, const char *name ) #ifdef SLAPD_MODULES if ( module_init() != 0 ) { - ldap_debug |= 1; + slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY, "%s: module_init failed\n", name, 0, 0 ); @@ -114,7 +115,7 @@ slap_init( int mode, const char *name ) #endif if ( slap_schema_init( ) != 0 ) { - ldap_debug |= 1; + slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY, "%s: slap_schema_init failed\n", name, 0, 0 ); @@ -124,8 +125,6 @@ slap_init( int mode, const char *name ) switch ( slapMode & SLAP_MODE ) { case SLAP_SERVER_MODE: - ldap_pvt_thread_pool_init( &connection_pool, - connection_pool_max, 0); /* FALLTHRU */ case SLAP_TOOL_MODE: @@ -136,6 +135,9 @@ slap_init( int mode, const char *name ) slap_name = name; + ldap_pvt_thread_pool_init( &connection_pool, + connection_pool_max, 0); + ldap_pvt_thread_mutex_init( &entry2str_mutex ); ldap_pvt_thread_mutex_init( &replog_mutex ); @@ -174,7 +176,7 @@ slap_init( int mode, const char *name ) break; default: - ldap_debug |= 1; + slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY, "%s init: undefined mode (%d).\n", name, mode, 0 ); @@ -183,7 +185,7 @@ slap_init( int mode, const char *name ) } if ( slap_controls_init( ) != 0 ) { - ldap_debug |= 1; + slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY, "%s: slap_controls_init failed\n", name, 0, 0 ); @@ -201,7 +203,7 @@ slap_init( int mode, const char *name ) #endif if ( frontend_init() ) { - ldap_debug |= 1; + slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY, "%s: frontend_init failed\n", name, 0, 0 ); @@ -209,22 +211,30 @@ slap_init( int mode, const char *name ) } if ( overlay_init() ) { - ldap_debug |= 1; + slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY, "%s: overlay_init failed\n", name, 0, 0 ); return 1; } -#ifdef SLAP_DYNACL + if ( glue_sub_init() ) { + slap_debug |= LDAP_DEBUG_NONE; + Debug( LDAP_DEBUG_ANY, + "%s: glue/subordinate init failed\n", + name, 0, 0 ); + + return 1; + } + if ( acl_init() ) { - ldap_debug |= 1; + slap_debug |= LDAP_DEBUG_NONE; Debug( LDAP_DEBUG_ANY, "%s: acl_init failed\n", name, 0, 0 ); return 1; } -#endif /* SLAP_DYNACL */ + return rc; }