qsrv: pvaLink getTimeStampTag return remote timeStamp.userTag
pvaLink cached the remote timeStamp.userTag in fld_usertag but never assigned snap_tag from it (pvalink.h initialises snap_tag to 0 and no code path updated it), so pvaGetTimeStampTag() always returned 0. Records reading a user tag through a PVA link lost that metadata. Assign snap_tag from fld_usertag in the same snapshot block that derives snap_time from fld_seconds/fld_nanoseconds, defaulting to 0 when the field is absent.
This commit is contained in:
committed by
Michael Davidsaver
parent
bf571f6eb2
commit
de3fb5d915
@@ -403,6 +403,12 @@ long pvaGetValue(DBLINK *plink, short dbrType, void *pbuffer, long *pnRequest) n
|
||||
self->snap_time.nsec = 0u;
|
||||
}
|
||||
|
||||
if(self->fld_usertag) {
|
||||
self->snap_tag = self->fld_usertag.as<epicsUTag>();
|
||||
} else {
|
||||
self->snap_tag = 0;
|
||||
}
|
||||
|
||||
if(self->fld_severity) {
|
||||
self->snap_severity = self->fld_severity.as<uint16_t>();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user