
wrowe at apache
Jul 1, 2009, 12:27 PM
Views: 97
Permalink
|
|
svn commit: r790334 - /httpd/mod_fcgid/trunk/mod_fcgid/arch/win32/fcgid_proc_win.c
|
|
Author: wrowe Date: Wed Jul 1 19:27:02 2009 New Revision: 790334 URL: http://svn.apache.org/viewvc?rev=790334&view=rev Log: If we require overlapped I/O, either pipe open operation must do so. Note a potential race (unsure if this is a race, in reality) Modified: httpd/mod_fcgid/trunk/mod_fcgid/arch/win32/fcgid_proc_win.c Modified: httpd/mod_fcgid/trunk/mod_fcgid/arch/win32/fcgid_proc_win.c URL: http://svn.apache.org/viewvc/httpd/mod_fcgid/trunk/mod_fcgid/arch/win32/fcgid_proc_win.c?rev=790334&r1=790333&r2=790334&view=diff ============================================================================== --- httpd/mod_fcgid/trunk/mod_fcgid/arch/win32/fcgid_proc_win.c (original) +++ httpd/mod_fcgid/trunk/mod_fcgid/arch/win32/fcgid_proc_win.c Wed Jul 1 19:27:02 2009 @@ -341,13 +341,15 @@ && ipc_handle->connect_timeout != 0 && GetLastError() == ERROR_PIPE_BUSY) { - /* Wait for pipe to be ready for connect, and try again */ + /* XXX - there appears to be a race, here + * Wait for pipe to be ready for connect, and try again + */ if (WaitNamedPipe(procnode->socket_path, ipc_handle->connect_timeout)) { handle_info->handle_pipe = CreateFile(procnode->socket_path, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, - 0, NULL); + FILE_FLAG_OVERLAPPED, NULL); } }
|