gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r9057 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r9057 - gnunet/src/util
Date: Thu, 1 Oct 2009 16:19:24 -0600

Author: grothoff
Date: 2009-10-01 16:19:24 -0600 (Thu, 01 Oct 2009)
New Revision: 9057

Modified:
   gnunet/src/util/network.c
Log:
fixing off by 1000 in select code

Modified: gnunet/src/util/network.c
===================================================================
--- gnunet/src/util/network.c   2009-10-01 21:59:23 UTC (rev 9056)
+++ gnunet/src/util/network.c   2009-10-01 22:19:24 UTC (rev 9057)
@@ -632,23 +632,25 @@
 
   nfds = 0;
 
-  if (rfds)
+  if (NULL != rfds)
     nfds = rfds->nsds;
-  if (wfds && wfds->nsds > nfds)
-    nfds = wfds->nsds;
-  if (efds && efds->nsds > nfds)
-    nfds = efds->nsds;
+  if (NULL != wfds)
+    nfds = GNUNET_MAX (nfds, wfds->nsds);
+  if (NULL != efds)
+    nfds = GNUNET_MAX (nfds, efds->nsds);
 
 #ifndef MINGW
   struct timeval tv;
 
   tv.tv_sec = timeout.value / GNUNET_TIME_UNIT_SECONDS.value;
-  tv.tv_usec = (timeout.value - (tv.tv_sec * GNUNET_TIME_UNIT_SECONDS.value))
-    / GNUNET_TIME_UNIT_MILLISECONDS.value;
-
-  return select (nfds + 1, rfds ? &rfds->sds : NULL, wfds ? &wfds->sds : NULL,
-      efds ? &efds->sds : NULL, timeout.value
-          == GNUNET_TIME_UNIT_FOREVER_REL.value ? NULL : &tv);
+  tv.tv_usec = 1000 * (timeout.value - (tv.tv_sec * 
GNUNET_TIME_UNIT_SECONDS.value));
+  return select (nfds + 1, 
+                (rfds != NULL) ? &rfds->sds : NULL, 
+                (wfds != NULL) ? &wfds->sds : NULL,
+                (efds != NULL) ? &efds->sds : NULL, 
+                (timeout.value == GNUNET_TIME_UNIT_FOREVER_REL.value) 
+                ? NULL 
+                : &tv);
 #else
   DWORD limit;
   fd_set sock_read, sock_write, sock_except;
@@ -670,7 +672,6 @@
   if (!(rfds || wfds || efds))
     {
       Sleep (ms_total);
-
       return 0;
     }
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]