Can you send me the implementation details (pseudocode) of the Ivi_LockSession and Ivi_UnLockSession functions. My team has recently experienced a deadlock caused by these functions and we are trying to explain the behavior that we saw. Before the fix, there were mis-matched calls (i.e. every call to Ivi_LockSession did not have a corresponding Ivi_UnLockSession call). After I fixed this, the deadlock went away. However we still cannot explain the initial behavior. Initially, we ran our test in a loop, and sometimes the Ivi_LockSession would obtain a lock, but sometimes it would wait infinitely. Is there any way to explain this intermittent operation? I would have expected the Ivi_LockSession
to wait infinitely every time through the loop. Note that after each test, the application is terminated, and re-started by our Test Executive program.
Thanks,
David King
Raytheon Space and Airborne Systems