1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-26 19:01:35 +03:00

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
This commit is contained in:
William A. Rowe Jr
2002-02-11 23:34:10 +00:00
parent 9ad90284cd
commit c54cc841b5

View File

@@ -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;