]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-monitor/database.c
Simpler fix for NO_THREADS
[openldap] / servers / slapd / back-monitor / database.c
index 13ce9d58389c114d99b0e67bd0a23d19d063670d..2ed5225faaee3241d69aa143d380b7c9c5b03b56 100644 (file)
@@ -48,6 +48,7 @@ monitor_subsys_database_init(
        int                     i;
        struct monitorentrypriv *mp;
        AttributeDescription    *ad_nc = slap_schema.si_ad_namingContexts;
+       AttributeDescription    *ad_mc = slap_schema.si_ad_monitorContext;
        AttributeDescription    *ad_seeAlso = NULL;
        const char              *text = NULL;
 
@@ -60,10 +61,10 @@ monitor_subsys_database_init(
                                &monitor_subsys[SLAPD_MONITOR_DATABASE].mss_ndn, 
                                &e_database ) ) {
 #ifdef NEW_LOGGING
-               LDAP_LOG(( "operation", LDAP_LEVEL_CRIT,
+               LDAP_LOG( OPERATION, CRIT,
                        "monitor_subsys_database_init: "
                        "unable to get entry '%s'\n",
-                       monitor_subsys[SLAPD_MONITOR_DATABASE].mss_ndn.bv_val ));
+                       monitor_subsys[SLAPD_MONITOR_DATABASE].mss_ndn.bv_val, 0, 0 );
 #else
                Debug( LDAP_DEBUG_ANY,
                        "monitor_subsys_database_init: "
@@ -98,11 +99,10 @@ monitor_subsys_database_init(
                e = str2entry( buf );
                if ( e == NULL ) {
 #ifdef NEW_LOGGING
-                       LDAP_LOG(( "operation", LDAP_LEVEL_CRIT,
+                       LDAP_LOG( OPERATION, CRIT,
                                "monitor_subsys_database_init: "
                                "unable to create entry 'cn=Database %d,%s'\n",
-                               i, 
-                               monitor_subsys[SLAPD_MONITOR_DATABASE].mss_ndn.bv_val ));
+                               i, monitor_subsys[SLAPD_MONITOR_DATABASE].mss_ndn.bv_val, 0 );
 #else
                        Debug( LDAP_DEBUG_ANY,
                                "monitor_subsys_database_init: "
@@ -114,14 +114,12 @@ monitor_subsys_database_init(
                        return( -1 );
                }
                
-               for ( j = 0; be->be_suffix[j]; j++ ) {
-                       struct berval           bv[ 2 ];
-
-                       bv[ 0 ] = *be->be_suffix[ j ];
-                       bv[ 1 ].bv_val = NULL;
-
-                       attr_merge( e, ad_nc, bv );
-                       attr_merge( e_database, ad_nc, bv );
+               if ( be->be_flags & SLAP_BFLAG_MONITOR ) {
+                       attr_merge( e, ad_mc, be->be_suffix );
+                       attr_merge( e_database, ad_mc, be->be_suffix );
+               } else {
+                       attr_merge( e, ad_nc, be->be_suffix );
+                       attr_merge( e_database, ad_nc, be->be_suffix );
                }
 
                for ( j = nBackendInfo; j--; ) {
@@ -156,11 +154,10 @@ monitor_subsys_database_init(
 
                if ( monitor_cache_add( mi, e ) ) {
 #ifdef NEW_LOGGING
-                       LDAP_LOG(( "operation", LDAP_LEVEL_CRIT,
+                       LDAP_LOG( OPERATION, CRIT,
                                "monitor_subsys_database_init: "
                                "unable to add entry 'cn=Database %d,%s'\n",
-                               i, 
-                               monitor_subsys[SLAPD_MONITOR_DATABASE].mss_ndn.bv_val ));
+                               i, monitor_subsys[SLAPD_MONITOR_DATABASE].mss_ndn.bv_val, 0 );
 #else
                        Debug( LDAP_DEBUG_ANY,
                                "monitor_subsys_database_init: "