09-01-2004 04:18 PM
09-01-2004 07:57 PM
06-24-2010 10:19 AM
I realize this message is a little stale. I have the same problem and digging deeper into the SOWait.VI the hangup is caused by the "call shared library node" calling
int32_t SOWait(uint32_t taskID, uint8_t *wait, int32_t *occur);
That call takes the occurrence reference as an argument and somewhere in there "sets" the occurrence.
The next step of the subVI is to wait on that occurrence and the problem is, after many "minutes" of calling, the wait function waits indefinitely because the SOWait() C-function call no longer is setting the occurrence.
My attempts to add a timeout to the occurrence and set the occurrence in that timeout case produce non-ideal results. The C-function continues to return values which timeout the occurrence and it never waits the "appropriate" amount of time anymore.
For example, if you had a 500ms sound file and a 1000ms timeout on the occurrence you will wait 1000ms between each time you hear your 500ms sound file. The occurrence is 'supposed' to be held up for the duration of the sound but when it is never set again it simply times out.
I believe this points to a bug in the SOWait() C-function call but being that its 2010 - I'd like to just find another way to accomplish the same thing - using newer VIs.