httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mt...@apache.org
Subject svn commit: r428278 - /httpd/httpd/trunk/os/win32/util_win32.c
Date Thu, 03 Aug 2006 08:24:46 GMT
Author: mturk
Date: Thu Aug  3 01:24:44 2006
New Revision: 428278

URL: http://svn.apache.org/viewvc?rev=428278&view=rev
Log:
Do not return on WAIT_ABANDONED signals.
It means that we got the ownership, not that the
object was signaled.

Modified:
    httpd/httpd/trunk/os/win32/util_win32.c

Modified: httpd/httpd/trunk/os/win32/util_win32.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/os/win32/util_win32.c?rev=428278&r1=428277&r2=428278&view=diff
==============================================================================
--- httpd/httpd/trunk/os/win32/util_win32.c (original)
+++ httpd/httpd/trunk/os/win32/util_win32.c Thu Aug  3 01:24:44 2006
@@ -157,12 +157,12 @@
 DWORD wait_for_many_objects(DWORD nCount, CONST HANDLE *lpHandles,
                             DWORD dwSeconds)
 {
-    time_t tStopTime;
+    DWORD dwStopTime;
     DWORD dwRet = WAIT_FAILED;
-    DWORD dwIndex=0;
+    DWORD dwIndex = 0;
     BOOL bFirst = TRUE;
 
-    tStopTime = time(NULL) + dwSeconds;
+    dwStopTime = GetTickCount() + dwSeconds * 1000;
 
     do {
         if (!bFirst)
@@ -179,16 +179,19 @@
                 return dwRet;
             }
             if (dwRet != WAIT_TIMEOUT) {
-                if (dwRet >= WAIT_ABANDONED_0)
-                    dwRet = dwRet - WAIT_ABANDONED_0;
-                else
-                    dwRet = dwRet - WAIT_OBJECT_0;
-                dwRet = dwRet + (dwIndex * MAXIMUM_WAIT_OBJECTS);
-                break;
+                if (dwRet >= WAIT_ABANDONED_0) {
+                    /* We just got the ownership of the object.
+                     * It does not mean that the object is signaled.
+                     */
+                }
+                else {
+                    dwRet = dwRet - WAIT_OBJECT_0 + (dwIndex * MAXIMUM_WAIT_OBJECTS);
+                    break;
+                }
             }
             dwRet = WAIT_FAILED;
         }
-    } while((time(NULL) < tStopTime) && (dwRet == WAIT_FAILED));
+    } while((GetTickCount() < dwStopTime) && (dwRet == WAIT_FAILED));
 
     return dwRet;
 }



Mime
View raw message