![]() |
For a given session, all function calls are thread safe. To maintain thread safety with minimal overhead on the critical path, a few functions are forced to run non-concurrently by the API. If one of the functions in this "mutually exclusive" set is executing, a call to any function in the set (with the same session handle) will be forced to wait until the first function has completed its work.
In addition, note that to maintain thread safety, XCAPI maintains locks to protect internal structures related to Exegy objects. As a result, care should be taken in using your own locking mechanisms: otherwise, a deadlock may occur between a client-initiated thread and the callback thread. To prevent deadlocks conditions, it is recommended that users release any locks that might be acquired inside a callback function prior to calling any of the mutually exclusive functions.
Mutually Exclusive Functions: