cdebug_in << pthread_self() << " StateWait( Running ) " << RetVal
<< " " << Automaton()->StateName( _currentState )
<< " pthread_cond_wait _RunningWait " << Name() << endl ;
- while ( !RetVal && !IsDone() ) {
+ // mkr : IPAL10056 : additional checking for node aborted
+ while ( !RetVal && !IsDone() && !_OutNode->IsNodeAborted() ) {
cdebug << pthread_self() << " pthread_cond_wait RunningWait " << Name() << endl ;
pthread_cond_wait( &_RunningWait , &_MutexWait );
//We may have pthread_cond_waited but !IsRunning and !IsDone :
RetVal = IsRunning() || State() == GraphExecutor::SuccessedExecutingState ||
- State() == GraphExecutor::ErroredExecutingState ;
+ State() == GraphExecutor::ErroredExecutingState ;
cdebug << pthread_self() << " pthread_cond_waited RunningWait "
- << Automaton()->StateName( _currentState ) << " " << RetVal
- << " " << Name() << endl ;
+ << Automaton()->StateName( _currentState ) << " " << RetVal
+ << " " << Name() << endl ;
}
cdebug_out << pthread_self() << " StateWait( Running ) " << RetVal
<< " " << Automaton()->StateName( _currentState )