httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wr...@apache.org
Subject svn commit: r790334 - /httpd/mod_fcgid/trunk/mod_fcgid/arch/win32/fcgid_proc_win.c
Date Wed, 01 Jul 2009 19:27:02 GMT
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);
         }
     }
 



Mime
View raw message