[Top][All Lists]
[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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r9057 - gnunet/src/util,
gnunet <=