Hi!
I am working on an test executor application, where SMO seems to be a perfect mean to achieve most of functionalities.
However, I have encountered a problem with one of the features, I have planned to implement - Abort Hanged/Frozen step.
In one of previous versions of SMO, there was an "abort" buttton in default testlauncher. I have understood, that it was a way to abort a SMO in whichever state (i.e. whichever case of main case struct of state machine) it is. Now I see this functionalityy is not any more the part of shipping test launcher - maybe due to this misunderstanding I have fallen into.
In attached example I have shown the problematic case. After a standard initializarion of state machine in process.vi, I go to HANGUP state, which consits of lonley infinite loop (simulating my hang up state). Now, when I Abort the SMO, the testlauncher smoothly rolls down, but provess.vi clone still remains in memory. If I try to Stop the SMO, the testlauncher freezes (waiting for processes to synchronize - which will never happen).
Analyzing what happens in destroy.vi I have nailed the issue to "abortVI" invoke node residing in last for loop of abort.vi giving an 1000 error: vi not in compatible state.
My main question is - is there a way to Abort an SMO that has got stucked in one of states outside idle (without event structure, which coule fetch abort event)?
If so - what technique one may use to get this functionality ?