X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Finit.c;h=b711ef9840610fe7246bae15164966bdbbf86c3a;hb=af866c3b44ba37577671f2bffd482499f4b8bc00;hp=6dce7e7d08f513a4200c0ffcae10d0c4dc0cd0b9;hpb=a637926bf27d346a07eb80692393e99cf19b49f5;p=openldap diff --git a/servers/slapd/init.c b/servers/slapd/init.c index 6dce7e7d08..b711ef9840 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-2004 The OpenLDAP Foundation. + * Copyright 1998-2005 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -68,9 +68,6 @@ int connection_pool_max = SLAP_MAX_WORKER_THREADS; #ifndef HAVE_GMTIME_R ldap_pvt_thread_mutex_t gmtime_mutex; #endif -#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) -ldap_pvt_thread_mutex_t passwd_mutex; -#endif slap_counters_t slap_counters; @@ -113,8 +110,6 @@ slap_init( int mode, const char *name ) slap_name = name; - (void) ldap_pvt_thread_initialize(); - ldap_pvt_thread_pool_init( &connection_pool, connection_pool_max, 0); @@ -123,43 +118,25 @@ slap_init( int mode, const char *name ) ldap_pvt_thread_mutex_init( &slap_counters.sc_sent_mutex ); ldap_pvt_thread_mutex_init( &slap_counters.sc_ops_mutex ); -#ifdef HAVE_GMP - mpz_init( slap_counters.sc_bytes ); - mpz_init( slap_counters.sc_pdu ); - mpz_init( slap_counters.sc_entries ); - mpz_init( slap_counters.sc_refs ); + ldap_pvt_mp_init( slap_counters.sc_bytes ); + ldap_pvt_mp_init( slap_counters.sc_pdu ); + ldap_pvt_mp_init( slap_counters.sc_entries ); + ldap_pvt_mp_init( slap_counters.sc_refs ); - mpz_init( slap_counters.sc_ops_completed ); - mpz_init( slap_counters.sc_ops_initiated ); + ldap_pvt_mp_init( slap_counters.sc_ops_initiated ); + ldap_pvt_mp_init( slap_counters.sc_ops_completed ); #ifdef SLAPD_MONITOR for ( i = 0; i < SLAP_OP_LAST; i++ ) { - mpz_init( slap_counters.sc_ops_initiated_[ i ] ); - mpz_init( slap_counters.sc_ops_completed_[ i ] ); - } -#endif /* SLAPD_MONITOR */ -#else /* ! HAVE_GMP */ - slap_counters.sc_bytes = 0; - slap_counters.sc_pdu = 0; - slap_counters.sc_entries = 0; - slap_counters.sc_refs = 0; - - slap_counters.sc_ops_completed = 0; - slap_counters.sc_ops_initiated = 0; -#ifdef SLAPD_MONITOR - for ( i = 0; i < SLAP_OP_LAST; i++ ) { - slap_counters.sc_ops_initiated_[ i ] = 0; - slap_counters.sc_ops_completed_[ i ] = 0; + ldap_pvt_mp_init( slap_counters.sc_ops_initiated_[ i ] ); + ldap_pvt_mp_init( slap_counters.sc_ops_completed_[ i ] ); } #endif /* SLAPD_MONITOR */ -#endif /* ! HAVE_GMP */ #ifndef HAVE_GMTIME_R ldap_pvt_thread_mutex_init( &gmtime_mutex ); #endif -#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) - ldap_pvt_thread_mutex_init( &passwd_mutex ); -#endif + slap_passwd_init(); rc = slap_sasl_init(); @@ -237,6 +214,9 @@ int slap_destroy(void) "%s destroy: freeing system resources.\n", slap_name, 0, 0 ); + if ( default_referral ) { + ber_bvarray_free( default_referral ); + } rc = backend_destroy(); @@ -250,21 +230,19 @@ int slap_destroy(void) ldap_pvt_thread_mutex_destroy( &slap_counters.sc_sent_mutex ); ldap_pvt_thread_mutex_destroy( &slap_counters.sc_ops_mutex ); -#ifdef HAVE_GMP - mpz_clear( slap_counters.sc_bytes ); - mpz_clear( slap_counters.sc_pdu ); - mpz_clear( slap_counters.sc_entries ); - mpz_clear( slap_counters.sc_refs ); - mpz_clear( slap_counters.sc_ops_completed ); - mpz_clear( slap_counters.sc_ops_initiated ); + ldap_pvt_mp_clear( slap_counters.sc_bytes ); + ldap_pvt_mp_clear( slap_counters.sc_pdu ); + ldap_pvt_mp_clear( slap_counters.sc_entries ); + ldap_pvt_mp_clear( slap_counters.sc_refs ); + ldap_pvt_mp_clear( slap_counters.sc_ops_initiated ); + ldap_pvt_mp_clear( slap_counters.sc_ops_completed ); #ifdef SLAPD_MONITOR for ( i = 0; i < SLAP_OP_LAST; i++ ) { - mpz_clear( slap_counters.sc_ops_initiated_[ i ] ); - mpz_clear( slap_counters.sc_ops_completed_[ i ] ); + ldap_pvt_mp_clear( slap_counters.sc_ops_initiated_[ i ] ); + ldap_pvt_mp_clear( slap_counters.sc_ops_completed_[ i ] ); } #endif /* SLAPD_MONITOR */ -#endif /* HAVE_GMP */ break; default: