Diff for /servers/slapd/init.c between versions 1.18 and 1.18.2.4

version 1.18, 1999/07/16 00:45:48 version 1.18.2.4, 2000/07/04 18:26:43
Line 1 Line 1
 /* init.c - initialize various things */  /* init.c - initialize various things */
   /* $OpenLDAP$ */
   /*
    * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
    * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
    */
   
 #include "portable.h"  #include "portable.h"
   
Line 22  int  ldap_syslog = LDAP_DEBUG_STATS; Line 27  int  ldap_syslog = LDAP_DEBUG_STATS;
 int             ldap_syslog;  int             ldap_syslog;
 #endif  #endif
   
   #ifdef LOG_DEBUG
 int             ldap_syslog_level = LOG_DEBUG;  int             ldap_syslog_level = LOG_DEBUG;
   #endif
   
 struct berval **default_referral = NULL;  struct berval **default_referral = NULL;
 int             g_argc;  int             g_argc;
 char            **g_argv;  char            **g_argv;
Line 30  char  **g_argv; Line 38  char  **g_argv;
 /*  /*
  * global variables that need mutex protection   * global variables that need mutex protection
  */   */
 int                             active_threads;  ldap_pvt_thread_pool_t  connection_pool;
 ldap_pvt_thread_mutex_t active_threads_mutex;  
 ldap_pvt_thread_cond_t  active_threads_cond;  
   
 ldap_pvt_thread_mutex_t gmtime_mutex;  ldap_pvt_thread_mutex_t gmtime_mutex;
 #ifdef SLAPD_CRYPT  #ifdef SLAPD_CRYPT
 ldap_pvt_thread_mutex_t crypt_mutex;  ldap_pvt_thread_mutex_t crypt_mutex;
Line 56  ldap_pvt_thread_mutex_t num_sent_mutex; Line 61  ldap_pvt_thread_mutex_t num_sent_mutex;
 ldap_pvt_thread_mutex_t entry2str_mutex;  ldap_pvt_thread_mutex_t entry2str_mutex;
 ldap_pvt_thread_mutex_t replog_mutex;  ldap_pvt_thread_mutex_t replog_mutex;
   
 static char* slap_name;  static const char* slap_name = NULL;
 int slapMode = SLAP_UNDEFINED_MODE;  int slapMode = SLAP_UNDEFINED_MODE;
   
 static ldap_pvt_thread_mutex_t  currenttime_mutex;  static ldap_pvt_thread_mutex_t  currenttime_mutex;
   
 int  int
 slap_init( int mode, char *name )  slap_init( int mode, const char *name )
 {  {
         int rc;          int rc;
   
           assert( mode );
   
         if( slapMode != SLAP_UNDEFINED_MODE ) {          if( slapMode != SLAP_UNDEFINED_MODE ) {
                 Debug( LDAP_DEBUG_ANY,                  Debug( LDAP_DEBUG_ANY,
                  "%s init: init called twice (old=%d, new=%d)\n",                   "%s init: init called twice (old=%d, new=%d)\n",
Line 75  slap_init( int mode, char *name ) Line 82  slap_init( int mode, char *name )
   
         slapMode = mode;          slapMode = mode;
   
         switch ( slapMode ) {          switch ( slapMode & SLAP_MODE ) {
   
                 case SLAP_SERVER_MODE:                  case SLAP_SERVER_MODE:
                 case SLAP_TOOL_MODE:                  case SLAP_TOOL_MODE:
 #ifdef SLAPD_BDB2  
                 case SLAP_TIMEDSERVER_MODE:  
                 case SLAP_TOOLID_MODE:  
 #endif  
   
                         Debug( LDAP_DEBUG_TRACE,                          Debug( LDAP_DEBUG_TRACE,
                                 "%s init: initiated %s.\n",                                  "%s init: initiated %s.\n",     name,
                                 name, mode == SLAP_TOOL_MODE ? "tool" : "server", 0 );                                  (mode & SLAP_MODE) == SLAP_TOOL_MODE ? "tool" : "server",
                                   0 );
   
                         slap_name = name;                          slap_name = name;
                   
                         (void) ldap_pvt_thread_initialize();                          (void) ldap_pvt_thread_initialize();
   
                         ldap_pvt_thread_mutex_init( &active_threads_mutex );                          ldap_pvt_thread_pool_init(&connection_pool, SLAP_MAX_WORKER_THREADS, 0);
                         ldap_pvt_thread_cond_init( &active_threads_cond );  
   
                         ldap_pvt_thread_mutex_init( &currenttime_mutex );                          ldap_pvt_thread_mutex_init( &currenttime_mutex );
                         ldap_pvt_thread_mutex_init( &entry2str_mutex );                          ldap_pvt_thread_mutex_init( &entry2str_mutex );
Line 106  slap_init( int mode, char *name ) Line 107  slap_init( int mode, char *name )
                         ldap_pvt_thread_mutex_init( &crypt_mutex );                          ldap_pvt_thread_mutex_init( &crypt_mutex );
 #endif  #endif
   
                         rc = backend_init();                          rc = backend_init( );
                         break;                          break;
   
                 default:                  default:
Line 119  slap_init( int mode, char *name ) Line 120  slap_init( int mode, char *name )
         return rc;          return rc;
 }  }
   
 int slap_startup(int dbnum)  int slap_startup( Backend *be )
 {  {
         int rc;          int rc;
   
Line 127  int slap_startup(int dbnum) Line 128  int slap_startup(int dbnum)
                 "%s startup: initiated.\n",                  "%s startup: initiated.\n",
                 slap_name, 0, 0 );                  slap_name, 0, 0 );
   
         rc = backend_startup(dbnum);          rc = backend_startup( be );
   
           if( rc == 0 ) {
                   rc = sasl_init();
           }
   
         return rc;          return rc;
 }  }
   
 int slap_shutdown(int dbnum)  int slap_shutdown( Backend *be )
 {  {
         int rc;          int rc;
   
Line 140  int slap_shutdown(int dbnum) Line 145  int slap_shutdown(int dbnum)
                 "%s shutdown: initiated\n",                  "%s shutdown: initiated\n",
                 slap_name, 0, 0 );                  slap_name, 0, 0 );
   
           sasl_destroy();
   
         /* let backends do whatever cleanup they need to do */          /* let backends do whatever cleanup they need to do */
         rc = backend_shutdown(dbnum);           rc = backend_shutdown( be ); 
   
         return rc;          return rc;
 }  }
Line 156  int slap_destroy(void) Line 163  int slap_destroy(void)
   
         rc = backend_destroy();          rc = backend_destroy();
   
           entry_destroy();
   
         ldap_pvt_thread_destroy();          ldap_pvt_thread_destroy();
   
         /* should destory the above mutex */          /* should destory the above mutex */

Removed from v.1.18  
changed lines
  Added in v.1.18.2.4


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org