]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
sockfilt: remove redundancy in timeout handling
authorMarc Hoersken <info@marc-hoersken.de>
Sun, 29 Mar 2020 15:18:34 +0000 (17:18 +0200)
committerMarc Hoersken <info@marc-hoersken.de>
Fri, 3 Apr 2020 10:37:39 +0000 (12:37 +0200)
And update other logmsg output in select_ws on Windows.

tests/server/sockfilt.c

index 26bbf416d9385b64d3768191f1a0f47afce39b13..6863d17ceaa9db319cdcb69d049b75379aefcba6 100644 (file)
@@ -750,7 +750,7 @@ struct select_ws_data {
   HANDLE thread;         /* the internal thread handle (indexed by thd) */
 };
 static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
-                     fd_set *exceptfds, struct timeval *timeout)
+                     fd_set *exceptfds, struct timeval *tv)
 {
   HANDLE abort, mutex, signal, handle, *handles;
   fd_set readsock, writesock, exceptsock;
@@ -768,9 +768,17 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
     return -1;
   }
 
+  /* convert struct timeval to milliseconds */
+  if(tv) {
+    milliseconds = (tv->tv_sec*1000)+(DWORD)(((double)tv->tv_usec)/1000.0);
+  }
+  else {
+    milliseconds = INFINITE;
+  }
+
   /* check if we got descriptors, sleep in case we got none */
   if(!nfds) {
-    Sleep((timeout->tv_sec*1000)+(DWORD)(((double)timeout->tv_usec)/1000.0));
+    SleepEx(milliseconds, FALSE);
     return 0;
   }
 
@@ -906,14 +914,6 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
     }
   }
 
-  /* convert struct timeval to milliseconds */
-  if(timeout) {
-    milliseconds = ((timeout->tv_sec * 1000) + (timeout->tv_usec / 1000));
-  }
-  else {
-    milliseconds = INFINITE;
-  }
-
   /* wait for one of the internal handles to trigger */
   wait = WaitForMultipleObjectsEx(nfd, handles, FALSE, milliseconds, FALSE);
 
@@ -981,13 +981,13 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
 
   for(fds = 0; fds < nfds; fds++) {
     if(FD_ISSET(fds, readfds))
-      logmsg("select_ws: %d is readable", fds);
+      logmsg("[select_ws] %d is readable", fds);
 
     if(FD_ISSET(fds, writefds))
-      logmsg("select_ws: %d is writable", fds);
+      logmsg("[select_ws] %d is writable", fds);
 
     if(FD_ISSET(fds, exceptfds))
-      logmsg("select_ws: %d is excepted", fds);
+      logmsg("[select_ws] %d is exceptional", fds);
   }
 
   for(idx = 0; idx < wsa; idx++) {