From 930d335e2c48d1894fa1b5d568c4a3f4b93c97a8 Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Fri, 6 May 1994 13:40:36 +0000 Subject: [PATCH] still original version --- src/as/asCa.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/as/asCa.c b/src/as/asCa.c index 719a175e0..1f2cf4499 100644 --- a/src/as/asCa.c +++ b/src/as/asCa.c @@ -138,16 +138,18 @@ LOCAL void eventCallback(struct event_handler_args eha) } pasginp = (ASGINP *)eha.usr; pcapvt = (CAPVT *)pasginp->capvt; - pasg = (ASG *)pasginp->pasg; - pcapvt->rtndata = *pdata; /*structure copy*/ - if(pdata->severity==INVALID_ALARM) { - pasg->inpBad |= (1<inpIndex); - } else { - pasg->inpBad &= ~((1<inpIndex)); - pasg->pavalue[pasginp->inpIndex] = pdata->value; + if(ca_read_access(pcapvt->chid)) { + pasg = (ASG *)pasginp->pasg; + pcapvt->rtndata = *pdata; /*structure copy*/ + if(pdata->severity==INVALID_ALARM) { + pasg->inpBad |= (1<inpIndex); + } else { + pasg->inpBad &= ~((1<inpIndex)); + pasg->pavalue[pasginp->inpIndex] = pdata->value; + } + pasg->inpChanged |= (1<inpIndex); + if(!caInitializing) asComputeAsg(pasg); } - pasg->inpChanged |= (1<inpIndex); - if(!caInitializing) asComputeAsg(pasg); if(Ilocked) FASTUNLOCK(&asLock); }