Experimental Physics and
| |||||||||||||||
|
I also have a CA connection management problem similar to the recent thread: Re: CA connection management problem but hopefully different enough to warrant a slightly different name. I'm trying to convert a vxWorks channel access C program from EPICS 3.13.10 to 3.14.8. The program is intended to run once after iocInit and then exit. I get an exception in ca_context_destroy if the channel connection times out. Reducing the program to its bare essentials, it does the following: 1) Set up ca context with preemptive callbacks enabled: ca_context_create (ca_enable_preemptive_callback) 2) Call ca_create_channel specifying channel name and callback function. 3) Wait for callback function to get called: If callback function is called, goto step 5. If there is a time-out, go to step 4. 4) On time-out, call ca_context_destroy and return with error. 5) If callback function gets called, continue with calls to ca_get, ca_pend_io, ca_context_destroy and return with success. This runs fine if I specify a PV which is valid. If I specify an invalid channel name, I get: 0x15d0250 (tShell): Unhandled C++ exception resulted in call to terminate The program runs fine under Linux. Is there some problem with ca_context_destroy under vxWorks, which I couldn't find in the Channel Access Reference Manuel or the tech-talk archives? I note, for example, that snl programs under 3.14 are no longer able to exit. Is this related? Regards, David -- [email protected] SLS Project --
| ||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |