Index: xymonproxy/xymonproxy.c =================================================================== --- xymonproxy/xymonproxy.c (revision 7358) +++ xymonproxy/xymonproxy.c (working copy) @@ -967,8 +967,14 @@ else { selecttmo.tv_sec = 1; selecttmo.tv_usec = 0; } + n = select(maxfd+1, &fdread, &fdwrite, NULL, &selecttmo); - if (n <= 0) { + + if (n < 0) { + errprintf("select() failed: %s\n", strerror(errno)); + } + else if (n == 0) { + /* Timeout */ getntimer(&tmo); for (cwalk = chead; (cwalk); cwalk = cwalk->next) { switch (cwalk->state) {