Monitors on EGU (and other fields) should fire when SEVR changes

Bug #541350 reported by Dirk Zimoch
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Andrew Johnson

Bug Description

When an MEDM shows value and units in alarm colors, the color of the value updates when the alarm severity changes but the color of the units does not change. This is because no record support generates events for EGU.

Generally, a monitor on any field which record support does not handle explicitly constantly shows the severity of the time when the channel has connected until the field is written with dbPut(). Record support should be changed either not to report severity on arbitrary fields or to update severity correctly.

Original Mantis Bug: mantis-321

Tags: rec 3.14
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.

Changed in epics-base:
status: New → Confirmed
Changed in epics-base:
assignee: nobody → Andrew Johnson (anj)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.