You need to sign in or sign up before continuing.
lock interaction with the CAS PV db
This is an attempt to circumvent the segfault race conditions we've been seeing: https://alog.ligo-wa.caltech.edu/aLOG/index.php?callRep=40765 We add a lock to the driver, and wrap a lock around anything that calls getParam, setParam, and updatePVs. This should hopefully prevent any contention between the main daemon thread, and any of the EPICS db interaction happening in the CAS thread. A new cas.get_many() method is added for the db to get all it's updates in a single pass with only one acquistion of the lock. We also move some MODE/MANAGER switching logic back in to the cas from the db, since it was needlessly clunky to be jumping back and forth in an attempt to keep the logic out of the cas. The manager test needed to be tweaked to fix the order of MANAGER/MODE updates, since now that those two records are updated in the same updatePVs they sould always show up in the same order, e.g. (MANAGER, MODE).
Loading
Please sign in to comment