From c54cc841b53a77b3a65eeb43afc96898bd2adfdf Mon Sep 17 00:00:00 2001 From: "William A. Rowe Jr" Date: Mon, 11 Feb 2002 23:34:10 +0000 Subject: [PATCH] Move the sleep until after we have duplicated the simple handles. We must still pause and reflect on the Child's startup before WSADuplicateHandle() git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93367 13f79535-47bb-0310-9956-ffa450edef68 --- server/mpm/winnt/mpm_winnt.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/server/mpm/winnt/mpm_winnt.c b/server/mpm/winnt/mpm_winnt.c index 38ef538f88..ad10ec4b76 100644 --- a/server/mpm/winnt/mpm_winnt.c +++ b/server/mpm/winnt/mpm_winnt.c @@ -1587,16 +1587,6 @@ static int create_process(apr_pool_t *p, HANDLE *child_proc, HANDLE *child_exit_ NULL, &si, &pi); - /* Important: - * Give the child process a chance to run before dup'ing the sockets. - * We have already set the listening sockets noninheritable, but if - * WSADuplicateSocket runs before the child process initializes - * the listeners will be inherited anyway. - * - * XXX: This is badness; needs some mutex interlocking - */ - Sleep(1000); - /* Undo everything we created for the child only */ CloseHandle(pi.hThread); @@ -1628,6 +1618,16 @@ static int create_process(apr_pool_t *p, HANDLE *child_proc, HANDLE *child_exit_ return -1; } + /* Important: + * Give the child process a chance to run before dup'ing the sockets. + * We have already set the listening sockets noninheritable, but if + * WSADuplicateSocket runs before the child process initializes + * the listeners will be inherited anyway. + * + * XXX: This is badness; needs some mutex interlocking + */ + Sleep(1000); + if (send_listeners_to_child(p, pi.dwProcessId, hPipeWrite)) { CloseHandle(hPipeWrite); return -1; -- 2.40.0