From 8ee2fbe0cdf8a03ae041eaffc2042d072f5b237d Mon Sep 17 00:00:00 2001 From: Dean Jansa Date: Wed, 8 Feb 2006 16:43:55 +0000 Subject: Bail out if our recvfrom fails due to alarm or error -- client side resends requests so no need to retry in server --- btimed.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/btimed.c b/btimed.c index 0a3b609..ee758d6 100644 --- a/btimed.c +++ b/btimed.c @@ -45,6 +45,13 @@ main(int argc, char **argv) nbytes = recvfrom(sd, &inmsg, BTIME_MSGLEN, MSG_WAITALL, (struct sockaddr *)&cli_addr, &cli_addr_len); + if (nbytes < 0) { + /* Bail, we may have had an alarm(), or other error. + * client side resends request, no need to retry here. + */ + exit(0); + } + sendto(sd, &outmsg, BTIME_MSGLEN, MSG_DONTWAIT, (struct sockaddr *)&cli_addr, cli_addr_len); /* We want to exit after 30 seconds of inactivity */ -- cgit