Experimental Physics and
| |||||||||||||||||
|
I have not been able to figure out why this problem apparently goes away when autosave's status PV's are loaded. Autosave calls ca_context_create() regardless of whether or not status PV's exist, and it makes CA connections to lots of PV's in any case. No, it's the Channel Access library that's calling fork() to create the caRepeater when it finds that there isn't one running at the time. The fork() has nothing to do with threads/tasks (which are the same thing) inside the IOC. My guess to what's happening is that asking save/restore to load the status PVs is sufficient to change the startup of the various threads sufficiently that the video server hasn't got around to opening that device before CA gets as far as spawning off the caRepeater. This problem is therefor nothing to do with autosave at all, it should be possible to tickle it by doing some other startup operation instead. The current best solution is, as Jeff has explained, to load caRepeater before starting the IOC. - Andrew -- English probably arose from Normans trying to pick up Saxon girls.
| ||||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |