]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/init.c
RFC 4511 calls for unavailableCriticalExtension to returned when
[openldap] / servers / slapd / back-ldap / init.c
index 6b9a27a3eb8bd0a64f77f6f260924d4d17397c9b..3847bd0259d440519fcdf6c971e07edf90a5d8ca 100644 (file)
@@ -162,7 +162,7 @@ ldap_back_db_open( BackendDB *be )
        ldapinfo_t      *li = (ldapinfo_t *)be->be_private;
 
        slap_bindconf   sb = { 0 };
-       int             rc;
+       int             rc = 0;
 
        Debug( LDAP_DEBUG_TRACE,
                "ldap_back_db_open: URI=%s\n",
@@ -209,7 +209,11 @@ ldap_back_db_open( BackendDB *be )
        /* monitor setup */
        rc = ldap_back_monitor_db_open( be );
        if ( rc != 0 ) {
+               /* ignore by now */
+               rc = 0;
+#if 0
                goto fail;
+#endif
        }
 
        li->li_flags |= LDAP_BACK_F_ISOPEN;
@@ -257,6 +261,8 @@ ldap_back_db_destroy( Backend *be )
        if ( be->be_private ) {
                ldapinfo_t      *li = ( ldapinfo_t * )be->be_private;
 
+               (void)ldap_back_monitor_db_destroy( be );
+
                ldap_pvt_thread_mutex_lock( &li->li_conninfo.lai_mutex );
 
                if ( li->li_uri != NULL ) {
@@ -326,8 +332,6 @@ ldap_back_db_destroy( Backend *be )
                ldap_pvt_thread_mutex_unlock( &li->li_conninfo.lai_mutex );
                ldap_pvt_thread_mutex_destroy( &li->li_conninfo.lai_mutex );
                ldap_pvt_thread_mutex_destroy( &li->li_uri_mutex );
-
-               (void)ldap_back_monitor_db_destroy( be );
        }
 
        ch_free( be->be_private );