From 7cfc0ef57625f1dcc443c811c0eff3b99f915f8f Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Sun, 18 Oct 2015 20:18:49 +0200 Subject: [PATCH] Minor changes in the test program. - Add one to the timeout in milliseconds, to prevent roundoff errors from causing us to busy-loop unnecessarily. - Log what we are polling for and what the timeout is. --- test.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test.c b/test.c index 0f7f333..1df172e 100644 --- a/test.c +++ b/test.c @@ -132,15 +132,17 @@ int main(int argc, char *argv[]) { struct timeval timeout = utcp_timeout(u); while(!connected || utcp_is_active(u)) { - debug("\n"); size_t max = c ? utcp_get_sndbuf_free(c) : 0; if(max > sizeof buf) max = sizeof buf; + int timeout_ms = timeout.tv_sec * 1000 + timeout.tv_usec / 1000 + 1; + + debug("polling, dir = %d, timeout = %d\n", dir, timeout_ms); if((dir & DIR_READ) && max) - poll(fds, 2, timeout.tv_sec * 1000 + timeout.tv_usec / 1000); + poll(fds, 2, timeout_ms); else - poll(fds + 1, 1, timeout.tv_sec * 1000 + timeout.tv_usec / 1000); + poll(fds + 1, 1, timeout_ms); if(fds[0].revents) { fds[0].revents = 0; @@ -165,7 +167,7 @@ int main(int argc, char *argv[]) { if(fds[1].revents) { fds[1].revents = 0; - debug("netout\n"); + debug("netin\n"); struct sockaddr_storage ss; socklen_t sl = sizeof ss; int len = recvfrom(s, buf, sizeof buf, MSG_DONTWAIT, (struct sockaddr *)&ss, &sl); -- 2.39.2