From e8718d826598b0bca9e2be1087ee762ebd955652 Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Wed, 7 Mar 2001 21:40:22 +0000 Subject: [PATCH] changes so that TSinit can successfully call iocClockRegister --- src/libCom/osi/os/vxWorks/iocClock.c | 12 +++++++++++- src/libCom/osi/os/vxWorks/osdThread.c | 1 - 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/libCom/osi/os/vxWorks/iocClock.c b/src/libCom/osi/os/vxWorks/iocClock.c index 8a0487bd9..db61955d9 100644 --- a/src/libCom/osi/os/vxWorks/iocClock.c +++ b/src/libCom/osi/os/vxWorks/iocClock.c @@ -161,7 +161,7 @@ int iocClockGetCurrent(epicsTimeStamp *pDest) epicsMutexUnlock(piocClockPvt->lock); return(0); } - + int iocClockGetEvent(epicsTimeStamp *pDest, unsigned eventNumber) { if (eventNumber==epicsTimeEventCurrentTime) { @@ -173,12 +173,22 @@ int iocClockGetEvent(epicsTimeStamp *pDest, unsigned eventNumber) int epicsTimeGetCurrent (epicsTimeStamp *pDest) { + if(!piocClockPvt) { + iocClockInit(); + /*wait two seconds for syncNTP to contact network time server*/ + epicsThreadSleep(2.0); + } if(piocClockPvt->getCurrent) return((*piocClockPvt->getCurrent)(pDest)); return(epicsTimeERROR); } int epicsTimeGetEvent (epicsTimeStamp *pDest, unsigned eventNumber) { + if(!piocClockPvt) { + iocClockInit(); + /*wait two seconds for syncNTP to contact network time server*/ + epicsThreadSleep(2.0); + } if(piocClockPvt->getEvent) return((*piocClockPvt->getEvent)(pDest,eventNumber)); return(epicsTimeERROR); diff --git a/src/libCom/osi/os/vxWorks/osdThread.c b/src/libCom/osi/os/vxWorks/osdThread.c index b9c19fb77..2983cbf9f 100644 --- a/src/libCom/osi/os/vxWorks/osdThread.c +++ b/src/libCom/osi/os/vxWorks/osdThread.c @@ -84,7 +84,6 @@ static void epicsThreadInit(void) assert(epicsThreadOnceMutex); } lock = 0; - iocClockInit(); } unsigned int epicsThreadGetStackSize (epicsThreadStackSizeClass stackSizeClass)