dbAccess: Make dbPut() always do special processing after put
If the value gets rejected by a put to SCAN, we must still call dbPutSpecial() to add the record back onto its old scan thread.
This commit is contained in:
@@ -1460,14 +1460,16 @@ long epicsShareAPI dbPut(DBADDR *paddr, short dbrType,
|
||||
status = prset->put_array_info(paddr, nRequest);
|
||||
}
|
||||
}
|
||||
if (status) return status;
|
||||
|
||||
/* check if special processing is required */
|
||||
/* Always do special processing if needed */
|
||||
if (special) {
|
||||
status = dbPutSpecial(paddr,1);
|
||||
if (status) return status;
|
||||
long status2 = dbPutSpecial(paddr,1);
|
||||
if (status2) return status2;
|
||||
}
|
||||
|
||||
/* If the put failed, return the error */
|
||||
if (status) return status;
|
||||
|
||||
/* Propagate monitor events for this field, */
|
||||
/* unless the field field is VAL and PP is true. */
|
||||
pfldDes = paddr->pfldDes;
|
||||
|
||||
Reference in New Issue
Block a user