]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/init.c
More ACL to dn="" bug fixing... and add test006-acl check
[openldap] / servers / slapd / init.c
index 0d29037e9090eb432594e5087393cd6d654485b2..c96040e39238a078aa15826e4bc684b6a4e67ec3 100644 (file)
@@ -1,7 +1,7 @@
 /* init.c - initialize various things */
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -31,29 +31,30 @@ int         ldap_syslog;
 int            ldap_syslog_level = LOG_DEBUG;
 #endif
 
-struct berval **default_referral = NULL;
-int            g_argc;
-char           **g_argv;
+BerVarray default_referral = NULL;
 
 /*
  * global variables that need mutex protection
  */
 ldap_pvt_thread_pool_t connection_pool;
+int                    connection_pool_max = SLAP_MAX_WORKER_THREADS;
 ldap_pvt_thread_mutex_t        gmtime_mutex;
 #if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
 ldap_pvt_thread_mutex_t        passwd_mutex;
 #endif
-ldap_pvt_thread_mutex_t ad_mutex;
 
-int                            num_conns;
-long                   num_ops_initiated;
-long                   num_ops_completed;
+unsigned long                  num_ops_initiated = 0;
+unsigned long                  num_ops_completed = 0;
+#ifdef SLAPD_MONITOR
+unsigned long                  num_ops_initiated_[SLAP_OP_LAST];
+unsigned long                  num_ops_completed_[SLAP_OP_LAST];
+#endif /* SLAPD_MONITOR */
 ldap_pvt_thread_mutex_t        num_ops_mutex;
 
-long                   num_entries_sent;
-long                   num_refs_sent;
-long                   num_bytes_sent;
-long                   num_pdu_sent;
+unsigned long                  num_entries_sent;
+unsigned long                  num_refs_sent;
+unsigned long                  num_bytes_sent;
+unsigned long                  num_pdu_sent;
 ldap_pvt_thread_mutex_t        num_sent_mutex;
 /*
  * these mutexes must be used when calling the entry2str()
@@ -107,15 +108,24 @@ slap_init( int mode, const char *name )
        
                        (void) ldap_pvt_thread_initialize();
 
-                       ldap_pvt_thread_pool_init(&connection_pool, SLAP_MAX_WORKER_THREADS, 0);
+                       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 );
                        ldap_pvt_thread_mutex_init( &num_ops_mutex );
                        ldap_pvt_thread_mutex_init( &num_sent_mutex );
 
+#ifdef SLAPD_MONITOR
+                       {
+                               int i;
+                               for ( i = 0; i < SLAP_OP_LAST; i++ ) {
+                                       num_ops_initiated_[ i ] = 0;
+                                       num_ops_completed_[ i ] = 0;
+                               }
+                       }
+#endif
+
                        ldap_pvt_thread_mutex_init( &gmtime_mutex );
-                       ldap_pvt_thread_mutex_init( &ad_mutex );
 #if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
                        ldap_pvt_thread_mutex_init( &passwd_mutex );
 #endif