From 215c5d954bbc6312e0f17656da37a234b1daffae Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Tue, 6 Mar 2018 01:45:21 -0800 Subject: [PATCH] Modify generalTimeGetEventPriority() to allow eventNumber > 256. eventNumbers between 0 and NUM_TIME_EVENTS will continue to get checked for advancing timestamps. Support for eventNumbers > NUM_TIME_EVENTS will be up to the generalTime provider. --- src/libCom/osi/epicsGeneralTime.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libCom/osi/epicsGeneralTime.c b/src/libCom/osi/epicsGeneralTime.c index 3054175ef..6fb42f755 100644 --- a/src/libCom/osi/epicsGeneralTime.c +++ b/src/libCom/osi/epicsGeneralTime.c @@ -231,8 +231,8 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, IFDEBUG(2) printf("generalTimeGetEventPriority(eventNum=%d)\n", eventNumber); - if ((eventNumber < 0 || eventNumber >= NUM_TIME_EVENTS) && - (eventNumber != epicsTimeEventBestTime)) + STATIC_ASSERT ( epicsTimeEventBestTime == -1 ); + if (eventNumber < epicsTimeEventBestTime) return S_time_badEvent; epicsMutexMustLock(gtPvt.eventListLock); @@ -245,7 +245,9 @@ static int generalTimeGetEventPriority(epicsTimeStamp *pDest, int eventNumber, if (pPrio) *pPrio = ptp->priority; - if (eventNumber == epicsTimeEventBestTime) { + if (eventNumber >= NUM_TIME_EVENTS) { + *pDest = ts; + } else if (eventNumber == epicsTimeEventBestTime) { if (epicsTimeGreaterThanEqual(&ts, >Pvt.lastProvidedBestTime)) { *pDest = ts;