diff --git a/src/ca/CAref.html b/src/ca/CAref.html index eae43f3f3..65fd2c6f2 100644 --- a/src/ca/CAref.html +++ b/src/ca/CAref.html @@ -96,6 +96,8 @@ height="31" width="88">

  • Connection Management
  • Thread Safety and Preemptive Callback to User Code
  • +
  • CA Client Contexts and Application Specific + Auxillary Threads
  • Polling the CA Client Library From Single Threaded Applications
  • Avoid Emulating Bad Practices that May Still be @@ -1246,6 +1248,30 @@ library. When the CA client library invokes a user's call back function it will always wait for the current callback to complete prior to executing another call back function.

    +

    CA Client Contexts and Application Specific Auxillary +Threads

    + +

    It may be necessary for several CA client side tools running in the same +address space (process) to be independent of each other. For example, the +database CA links and the sequencer are designed to not use the same CA +client library threads, network circuits, and data structures. Each thread +that calls ca_context_create() for the first +time either directly, or implicitly when calling a CA routine for the first +time, creates a CA client library context. A CA client libray context +contains all of the threads, network circuits, and data structures required +to connect and communicate with the channels that a CA cllient application +has created. The priority of auxillary threads spawned by the CA client +library are at fixed offsets from the priority of the thread that called ca_context_create(). An application specific +auxillary thread can join a CA context by calling ca_attach_context() using the CA context +identifier that was retuned from ca_current_context() when it was called by the +thread that called ca_context_create(). A CA +client library context can be shut down and cleaned up, after destroying any +channels or application specific threads that are attached to it, by calling +ca_context_destroy().

    +

    Polling the CA Client Library From Single Threaded Applications