I have a vi with two while loops working in parallel at the same time. These while loops share a semaphore (the same) because I want one while loop depends on the another while loop. I create a sempahore and then in one while loop I acquire it. In the another while loop I release it (the semaphore acquired by the another while loop) after a few seconds and when I release it, LV says:
LabVIEW: Release Semaphore called on a semaphore that was not currently acquired.
I don't understand because I acquire it before in that while loop. I am sure that when I release it, it already had been acquired before.
Post a simplified version of your code please. Also let us know what version of LV you are using. You can try to use execution trace (the light bulb) to see if the semaphore was aquired before the attempt to release.
If your acquire semaphore has a timeout set, and the timeout has expired, I believe that it is no-longer acquired. I have not really worked with semaphores so I may be wrong, but I believe that is how the timeout works.