Comment 1 for bug 541350

Revision history for this message
Andrew Johnson (anj) wrote :

It is possible to call db_post_events() passing NULL for pfield (the second argument) which triggers an event with the given mask on all fields of the relevant record. Currently the only code that actually calls db_post_events() this way is executed when an alarm handler does a DBR_PUT_ACKT or DBR_PUT_ACKS to the record.

I have just confirmed that acknowledging an alarm causes an event to be emitted to a client that is monitoring the EGU field of a record. It would be fairly straight-forward for the standard record types to be modified to report alarm severity changes on all fields using this technique. However each call to db_post_events() does cause a separate event to be reported to the client, and I don't see any way to avoid double events for those fields for which the monitor() routine already calls dp_post_events().

The question we need to answer is whether we want to do this, which I think is a fairly significant change in behavior.