| || |
Visual Test: App with Multiple Threads
I am in the process of testing an app that recently had a secondary thread added. Ever since then, the app does not run under VT. It runs fine when executed manually.
Here's the scenario: The app's primary thread creates a handle and spawns a secondary thread. The secondary thread creates a status dialog box (hidden) then reports back to the primary thread with a Set Event when the dialog is up. The primary thread waits up to 10 seconds for the secondary thread to report otherwise it throws an assert.
When running under VT, I always get the assert. If the wait time is increased, the assert is still thrown. Using Spy++, I can see that the status dialog was created, so I know the secondary thread ran but it appears that it did not report back to the primary thread.
So, I guess my question is this: Does VT truly support multiple treaded apps as it claims in the online help? or When running in VT, is the app actually a thread of VT and is my secondary thread reporting back to VT instead?
I am told that the only difference between this thread and the others
within the app is that it sends a message (SetEvent) back to the primary
thread when it is finished. I can see that the secondary thread ran but
it looks like VT somehow blocked it's response back to the primary
thread. This app runs just fine if it is not running through a VT
script. I even tried to run it through a .pcd file and MTRUN but that
did not run either.
Any help on this issue would be greatly appreciated!
Thanks in advance,
Directory Management Group