From e8522e6cd1f0442edde51e923e54a965001e75d8 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 9 Mar 2011 18:09:35 +0000 Subject: [PATCH] More for prev commit - none of this is necessary if no_detach is true --- servers/slapd/main.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/servers/slapd/main.c b/servers/slapd/main.c index 8298f9a3c7..a43c8f84ca 100644 --- a/servers/slapd/main.c +++ b/servers/slapd/main.c @@ -907,23 +907,25 @@ unhandled_option:; #endif #ifndef HAVE_WINSOCK - if ( lutil_pair( waitfds ) < 0 ) { - Debug( LDAP_DEBUG_ANY, - "main: lutil_pair failed: %d\n", - 0, 0, 0 ); - rc = 1; - goto destroy; - } - 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 { - close( waitfds[0] ); + if ( !no_detach ) { + if ( lutil_pair( waitfds ) < 0 ) { + Debug( LDAP_DEBUG_ANY, + "main: lutil_pair failed: %d\n", + 0, 0, 0 ); + rc = 1; + goto destroy; + } + 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 { + close( waitfds[0] ); + } } #endif /* HAVE_WINSOCK */ @@ -996,8 +998,10 @@ unhandled_option:; Debug( LDAP_DEBUG_ANY, "slapd starting\n", 0, 0, 0 ); #ifndef HAVE_WINSOCK - write( waitfds[1], "1", 1 ); - close( waitfds[1] ); + if ( !no_detach ) { + write( waitfds[1], "1", 1 ); + close( waitfds[1] ); + } #endif #ifdef HAVE_NT_EVENT_LOG -- 2.39.5