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));