We are converting our legacy systems from EPICS 3.13/vxWorks to EPICS 3.14/RTEMS,
I have an IOC that calls
SEVCHK( ca_search(buf, &id), "ca_search failed\n");
but it results in the following error:
dbContext: preemptive callback required for direct in
memory interfacing of CA channels to the DB.
CA.Client.Exception...............................................
Warning: "Not supported by attached service"
Context: "ca_search failed
"
Source File: ../caLogDataDriver.c line 119
Current Time: Thu Jan 05 2017 18:02:41.367850828
OK, so I insert this first:
SEVCHK(ca_context_create(ca_enable_preemptive_callback), "caInitLogSetup() calling ca_context_create()");
But now I get this
CA.Client.Exception...............................................
Error: "Preemptive callback not enabled - additional threads may not join context"
Context: "caInitLogSetup() calling ca_context_create()"
Source File: ../caLogDataDriver.c line 106
Current Time: Thu Jan 05 2017 17:41:58.248806684
What am I missing? Do I need to supply a callback function first? The Channel Access documentation seems a bit sparse in this regard...
--
Mike Westfall
Control Systems Software Engineer