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;
#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);
}