From aff74638bd7cc6e894c7de78ddee11c851a6be60 Mon Sep 17 00:00:00 2001 From: Henrique Silva Date: Wed, 8 Mar 2023 16:45:04 +0100 Subject: [PATCH] Post NORD update event during record process for aai and aao Applying the same change as #263 did for waveform records --- modules/database/src/std/rec/aaiRecord.c | 10 ++++++++-- modules/database/src/std/rec/aaoRecord.c | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/database/src/std/rec/aaiRecord.c b/modules/database/src/std/rec/aaiRecord.c index 756b892ab..37210fd1f 100644 --- a/modules/database/src/std/rec/aaiRecord.c +++ b/modules/database/src/std/rec/aaiRecord.c @@ -156,8 +156,9 @@ static long process(struct dbCommon *pcommon) { struct aaiRecord *prec = (struct aaiRecord *)pcommon; aaidset *pdset = (aaidset *)(prec->dset); - long status; unsigned char pact = prec->pact; + epicsUInt32 nord = prec->nord; + long status; if (pdset == NULL || pdset->read_aai == NULL) { prec->pact = TRUE; @@ -173,7 +174,11 @@ static long process(struct dbCommon *pcommon) prec->udf = FALSE; recGblGetTimeStampSimm(prec, prec->simm, &prec->siol); + if (nord != prec->nord) { + db_post_events(prec, &prec->nord, DBE_VALUE | DBE_LOG); + } monitor(prec); + /* process the forward scan link record */ recGblFwdLink(prec); @@ -233,8 +238,9 @@ static long put_array_info(DBADDR *paddr, long nNew) if (prec->nord > prec->nelm) prec->nord = prec->nelm; - if (nord != prec->nord) + if (nord != prec->nord) { db_post_events(prec, &prec->nord, DBE_VALUE | DBE_LOG); + } return 0; } diff --git a/modules/database/src/std/rec/aaoRecord.c b/modules/database/src/std/rec/aaoRecord.c index 1aae712d0..cff429beb 100644 --- a/modules/database/src/std/rec/aaoRecord.c +++ b/modules/database/src/std/rec/aaoRecord.c @@ -153,6 +153,7 @@ static long process(struct dbCommon *pcommon) aaodset *pdset = (aaodset *)(prec->dset); long status; unsigned char pact = prec->pact; + epicsUInt32 nord = prec->nord; if (pdset == NULL || pdset->write_aao == NULL) { prec->pact = TRUE; @@ -180,6 +181,9 @@ static long process(struct dbCommon *pcommon) recGblGetTimeStampSimm(prec, prec->simm, NULL); } + if (nord != prec->nord) { + db_post_events(prec, &prec->nord, DBE_VALUE | DBE_LOG); + } monitor(prec); /* process the forward scan link record */ recGblFwdLink(prec);