Two threads cannot use Monitor Client Library functions at the same time. Use a global lock (semaphore) on Monitor Client Library calls to avoid any thread overwrites or unpredictable actions.
Monitor Client Library functions are not protected from reentrant invocation. Use the following special programming considerations when using these functions in a multithreaded environment. Be sure that:
A call to create a client connection (smc_connect) is serialized with all other Monitor Client Library function calls across all threads.
A call to disconnect a client connection (smc_disconnect) is serialized with all other Monitor Client Library function calls across all threads.
Any single client connection lives in one, and only one, thread. All Monitor Client Library function calls to access this client connection occur in this thread.
A call to refresh a client connection is serialized with all other Monitor Client Library function calls on this connection in this thread.