]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/main.c
Fixup bdb_entry_release now that entry_decode uses two memory blocks
[openldap] / servers / slapd / main.c
index 785806497e40c26e6d4c710c51afa2230977aa54..0411a8d35fe06b4ec25c425dbada49247042efe1 100644 (file)
@@ -15,6 +15,8 @@
 #include <ac/wait.h>
 #include <ac/errno.h>
 
+#include "ldap_pvt.h"
+
 #include "slap.h"
 #include "lutil.h"
 #include "ldif.h"
@@ -30,7 +32,8 @@ struct sockaddr_in    bind_addr;
 /* in nt_main.c */
 LDAP_LUTIL_V(SERVICE_STATUS)           SLAPDServiceStatus;
 LDAP_LUTIL_V(SERVICE_STATUS_HANDLE)    hSLAPDServiceStatus;
-extern ldap_pvt_thread_cond_t  started_event,          stopped_event;
+/* externs are frowned upon, but so is NT :-) */
+extern ldap_pvt_thread_cond_t  started_event, stopped_event;
 extern int       is_NT_Service;
 
 void CommenceStartupProcessing( LPCTSTR serverName,
@@ -127,7 +130,7 @@ int main( int argc, char **argv )
 #endif
 {
        int             i, no_detach = 0;
-       int             rc;
+       int             rc = 1;
        char *urls = NULL;
 #if defined(HAVE_SETUID) && defined(HAVE_SETGID)
        char *username = NULL;
@@ -542,6 +545,8 @@ stop:
 #endif
        slapd_daemon_destroy();
 
+       schema_destroy();
+
 #ifdef HAVE_TLS
        ldap_pvt_tls_destroy();
 #endif