LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Implementation details of Ivi_LockSession and Ivi_UnLockSession

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
Download All
0 Kudos
Message 1 of 2
(3,216 Views)
David,

Unfortunately the implementation details for those functions are not available. Perhaps multiple lock modes were being used changing the lock behavior at various points in the code. If you want to boil down your code to a point where one can see what is going on (without running a diff) maybe we can figure out what is happening.

Craig Herdman
NI Applications Engineering
0 Kudos
Message 2 of 2
(3,216 Views)