Experimental Physics and
| |||||||||||||||||
|
Unfortunately there are major problems with doing this in a running IOC: we don't have locks in all the database structures that need to be modified when a new record instance is created, which makes this a precarious activity. The current dbStaticLib design assumes that all record creation happens while the IOC is running single-threaded before initialization of any scan or server threads. For example, the pdbbase->ppvd structure which is a hash table of all the record instances has no locks, so one or more server threads could be searching for PV names in the hash bucket linked list that your new record instance gets added to. It might be possible to make this thread-safe by disabling interrupts before calling dbPvdAdd(). Dirk -- Dr. Dirk Zimoch Paul Scherrer Institut, WBGB/006 5232 Villigen PSI, Switzerland Phone +41 56 310 5182
| ||||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |