From: Danny Mayer Date: Mon, 21 Feb 2005 05:26:12 +0000 (-0500) Subject: Additional changes to input_handler() to correctly break in refclock read loop X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=47de0f8fe16f052b4268f0facd4ebc461a712df7;p=thirdparty%2Fntp.git Additional changes to input_handler() to correctly break in refclock read loop bk: 421970f4BooY6AiyTkjPiPqS97KWiQ --- diff --git a/ntpd/ntp_io.c b/ntpd/ntp_io.c index 78bd704984..e01c355d9c 100644 --- a/ntpd/ntp_io.c +++ b/ntpd/ntp_io.c @@ -1891,7 +1891,7 @@ input_handler( char buf[RX_BUFF_SIZE]; buflen = read(fd, buf, sizeof buf); - if (buflen < 0) + if (buflen <= 0) break; /* Done */ packets_dropped++; if (buflen == 0) @@ -1912,10 +1912,10 @@ input_handler( if (buflen < 0) { freerecvbuf(rb); - if (errno != EINTR) { - netsyslog(LOG_ERR, "clock read fd %d, bytes read %d: %m", fd, rb->recv_length); - break; + if (errno != EINTR && errno != EAGAIN) { + netsyslog(LOG_ERR, "clock read fd %d: %m", fd); } + break; } if(buflen == 0) totzeroreads++; @@ -1959,9 +1959,10 @@ input_handler( rp->recvcount++; packets_received++; } /* End while (totzeroreads < MAXZEROREADS) */ - } - } - } + } /* End if (FD_ISSET(fd, &fds)) */ + } /* End for (rp = refio; rp != 0 && n > 0; rp = rp->next) */ + } /* End if (refio != 0) */ + #endif /* REFCLOCK */ /*