+/*
+ * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+ */
#include "portable.h"
#include <stdio.h>
#if defined(HAVE_SETUID) && defined(HAVE_SETGID)
"\t-g group\tGroup (id or name) to ran as\n"
#endif
- "\t-h URLs\tList of URLs to serve"
+ "\t-h URLs\tList of URLs to serve\n"
#ifdef LOG_LOCAL4
"\t-l sysloguser\tSyslog User (default: LOCAL4)\n"
#endif
int tls_port = 0;
#endif
+#ifdef CSRIMALLOC
+ FILE *leakfile;
+ if( ( leakfile = fopen( "slapd.leak", "w" )) == NULL ) {
+ leakfile = stderr;
+ }
+#endif
+
g_argc = argc;
g_argv = argv;
#endif
while ( (i = getopt( argc, argv,
- "d:f:h:p:s:u"
+ "d:f:h:p:s:"
#ifdef LOG_LOCAL4
"l:"
#endif
#ifdef SLAPD_BDB2
case 't': /* timed server */
- serverMode = SLAP_TIMEDSERVER_MODE;
+ serverMode |= SLAP_TIMED_MODE;
break;
#endif
#endif
#endif /* HAVE_WINSOCK */
- if ( slap_startup(-1) != 0 ) {
+#ifdef CSRIMALLOC
+ mal_leaktrace(1);
+#endif
+
+ if ( slap_startup( NULL ) != 0 ) {
rc = 1;
SERVICE_EXIT( ERROR_SERVICE_SPECIFIC_ERROR, 20 );
goto shutdown;
shutdown:
/* remember an error during shutdown */
- rc |= slap_shutdown(-1);
+ rc |= slap_shutdown( NULL );
+
destroy:
/* remember an error during destroy */
rc |= slap_destroy();
closelog();
slapd_daemon_destroy();
+#ifdef CSRIMALLOC
+ mal_dumpleaktrace( leakfile );
+#endif
+
MAIN_RETURN(rc);
}