diff --git a/src/dev/apsDev/devApsEr.c b/src/dev/apsDev/devApsEr.c index 80ba6a59c..d7713b69c 100644 --- a/src/dev/apsDev/devApsEr.c +++ b/src/dev/apsDev/devApsEr.c @@ -219,13 +219,16 @@ long ErRegisterErrorHandler(int Card, ERROR_FUNC func) ******************************************************************************/ long ErGetTicks(int Card, unsigned long *Ticks) { + int key; if (ErHaveReceiver(Card) < 0) return(-1); /* BUG -- Do we read the HI first or the low? */ + key = intLock(); *Ticks = ErLink[Card].pEr->EventCounterLo; *Ticks += ErLink[Card].pEr->EventCounterHi << 16; + intUnlock(key); return(0); } diff --git a/src/vxWorks/dev/apsDev/devApsEr.c b/src/vxWorks/dev/apsDev/devApsEr.c index 80ba6a59c..d7713b69c 100644 --- a/src/vxWorks/dev/apsDev/devApsEr.c +++ b/src/vxWorks/dev/apsDev/devApsEr.c @@ -219,13 +219,16 @@ long ErRegisterErrorHandler(int Card, ERROR_FUNC func) ******************************************************************************/ long ErGetTicks(int Card, unsigned long *Ticks) { + int key; if (ErHaveReceiver(Card) < 0) return(-1); /* BUG -- Do we read the HI first or the low? */ + key = intLock(); *Ticks = ErLink[Card].pEr->EventCounterLo; *Ticks += ErLink[Card].pEr->EventCounterHi << 16; + intUnlock(key); return(0); }