Fix undef ts on first camonitor update of NORD

Moves db_post_events() calls for NORD to process() function
after it updates the timestamp.
This commit is contained in:
Bruce Hill
2022-05-13 11:36:00 -07:00
committed by Michael Davidsaver
parent a0a7a94944
commit 5ba8080f6e

View File

@@ -124,6 +124,7 @@ static long process(struct dbCommon *pcommon)
struct waveformRecord *prec = (struct waveformRecord *)pcommon;
wfdset *pdset = (wfdset *)(prec->dset);
unsigned char pact=prec->pact;
epicsUInt32 nord = prec->nord;
long status;
if ((pdset==NULL) || (pdset->read_wf==NULL)) {
@@ -143,6 +144,8 @@ 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 */
@@ -206,7 +209,9 @@ static long put_array_info(DBADDR *paddr, long nNew)
prec->nord = prec->nelm;
if (nord != prec->nord)
{
db_post_events(prec, &prec->nord, DBE_VALUE | DBE_LOG);
}
return 0;
}
@@ -334,11 +339,7 @@ static long readValue(waveformRecord *prec)
switch (prec->simm) {
case menuYesNoNO: {
epicsUInt32 nord = prec->nord;
status = pdset->read_wf(prec);
if (nord != prec->nord)
db_post_events(prec, &prec->nord, DBE_VALUE | DBE_LOG);
break;
}
@@ -353,7 +354,6 @@ static long readValue(waveformRecord *prec)
if (nRequest != prec->nord) {
prec->nord = nRequest;
db_post_events(prec, &prec->nord, DBE_VALUE | DBE_LOG);
}
prec->pact = FALSE;
}