From b1234b46675fe205a9c29afc803bd9a7ee9815ff Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 20 Apr 2009 22:21:45 +0000 Subject: [PATCH] Modified the timeout and retry count: Allow 4 seconds for an NTP reply, and 4 retries, thus NTP sync must work at least once every 5 minutes. --- src/libCom/osi/os/vxWorks/osdTime.cpp | 4 +++- src/libCom/osi/osiNTPTime.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libCom/osi/os/vxWorks/osdTime.cpp b/src/libCom/osi/os/vxWorks/osdTime.cpp index 59d390db3..f65e382ce 100644 --- a/src/libCom/osi/os/vxWorks/osdTime.cpp +++ b/src/libCom/osi/os/vxWorks/osdTime.cpp @@ -42,7 +42,9 @@ static int done = timeRegister(); int osdNTPGet(struct timespec *ts) { - return sntpcTimeGet(const_cast(pserverAddr), sysClkRateGet(), ts); + return sntpcTimeGet(const_cast(pserverAddr), + 4 * sysClkRateGet(), /* 4 second timeout for NTP request*/ + ts); } void osdNTPInit(void) diff --git a/src/libCom/osi/osiNTPTime.c b/src/libCom/osi/osiNTPTime.c index 78c63d955..1cdf601bf 100644 --- a/src/libCom/osi/osiNTPTime.c +++ b/src/libCom/osi/osiNTPTime.c @@ -34,6 +34,7 @@ #define NSEC_PER_SEC 1000000000 #define NTPTimeSyncInterval 60.0 +#define NTPTimeSyncRetries 4 static struct { @@ -153,8 +154,7 @@ static void NTPTimeSync(void *dummy) tickNow = osdTickGet(); if (status) { - /* Retry before failing */ - if (++NTPTimePvt.syncsFailed >= 2 && + if (++NTPTimePvt.syncsFailed > NTPTimeSyncRetries && NTPTimePvt.synchronized) { errlogPrintf("NTPTimeSync: NTP requests failing - %s\n", strerror(errno));