]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/main.c
silence warning
[openldap] / servers / slapd / main.c
index 1cf5419269911a11a606088ae14b326f2708e2bc..a70698f2f449dee3663350ad2dc8a321858e4074 100644 (file)
@@ -346,9 +346,6 @@ usage( char *name )
 #endif
                "\t-V\t\tprint version info (-VV exit afterwards, -VVV print\n"
                "\t\t\tinfo about static overlays and backends)\n"
-#ifndef HAVE_WINSOCK
-               "\t-w Wait for database startup before exiting\n"
-#endif
     );
 }
 
@@ -373,7 +370,7 @@ int main( int argc, char **argv )
 #endif
        
 #ifndef HAVE_WINSOCK
-       int pid, wait_for_start = 0, waitfds[2];
+       int pid, waitfds[2];
 #endif
        int g_argc = argc;
        char **g_argv = argv;
@@ -450,13 +447,13 @@ int main( int argc, char **argv )
 
                newConfigFile = (char*)lutil_getRegParam( regService, "ConfigFile" );
                if ( newConfigFile != NULL ) {
-                       configfile = newConfigFile;
+                       configfile = ch_strdup(newConfigFile);
                        Debug ( LDAP_DEBUG_ANY, "new config file from registry is: %s\n", configfile, 0, 0 );
                }
 
                newConfigDir = (char*)lutil_getRegParam( regService, "ConfigDir" );
                if ( newConfigDir != NULL ) {
-                       configdir = newConfigDir;
+                       configdir = ch_strdup(newConfigDir);
                        Debug ( LDAP_DEBUG_ANY, "new config dir from registry is: %s\n", configdir, 0, 0 );
                }
        }
@@ -478,9 +475,6 @@ int main( int argc, char **argv )
 #endif
 #if defined(HAVE_SETUID) && defined(HAVE_SETGID)
                                "u:g:"
-#endif
-#ifndef HAVE_WINSOCK
-                               "w"
 #endif
                             )) != EOF ) {
                switch ( i ) {
@@ -649,12 +643,6 @@ int main( int argc, char **argv )
                        version++;
                        break;
 
-#ifndef HAVE_WINSOCK
-               case 'w':
-                       wait_for_start = 1;
-                       break;
-#endif
-
                case 'T':
                        if ( firstopt == 0 ) {
                                fprintf( stderr, "warning: \"-T %s\" "
@@ -919,7 +907,7 @@ unhandled_option:;
 #endif
 
 #ifndef HAVE_WINSOCK
-       if ( wait_for_start ) {
+       if ( !no_detach ) {
                if ( lutil_pair( waitfds ) < 0 ) {
                        Debug( LDAP_DEBUG_ANY,
                                "main: lutil_pair failed: %d\n",
@@ -927,19 +915,15 @@ unhandled_option:;
                        rc = 1;
                        goto destroy;
                }
-       }
-       pid = lutil_detach( no_detach, 0 );
-       if ( pid ) {
-               rc = EXIT_SUCCESS;
-               if ( wait_for_start ) {
+               pid = lutil_detach( no_detach, 0 );
+               if ( pid ) {
                        char buf[4];
+                       rc = EXIT_SUCCESS;
                        close( waitfds[1] );
                        if ( read( waitfds[0], buf, 1 ) != 1 )
                                rc = EXIT_FAILURE;
-               }
-               _exit( rc );
-       } else {
-               if ( wait_for_start ) {
+                       _exit( rc );
+               } else {
                        close( waitfds[0] );
                }
        }
@@ -1014,7 +998,7 @@ unhandled_option:;
        Debug( LDAP_DEBUG_ANY, "slapd starting\n", 0, 0, 0 );
 
 #ifndef HAVE_WINSOCK
-       if ( wait_for_start ) {
+       if ( !no_detach ) {
                write( waitfds[1], "1", 1 );
                close( waitfds[1] );
        }