This switches to the specifed Procedure and starts it. It is equivalent to a long goto. It is also legal for the procedure to already be the current procedure, in which case we just start it.
| 178 | // This switches to the specifed Procedure and starts it. It is equivalent to a long goto. |
| 179 | // It is also legal for the procedure to already be the current procedure, in which case we just start it. |
| 180 | MachineStatus MachineBase::callMachStart(MachineBase *wProc, unsigned startState) |
| 181 | { |
| 182 | tran()->teSetProcedure(wProc,false); |
| 183 | LOG(DEBUG) << "start Procedure:"<<wProc->machText(); |
| 184 | // TODO: Call handleMachineStatus(MachineStatus status) |
| 185 | return tran()->handleRecursion(wProc->machineRunState1(startState)); // Unless the StateMachine starts with a message, the start state must be state 0 in every Machine. |
| 186 | } |
| 187 | |
| 188 | L3LogicalChannel* MachineBase::channel() const { |
| 189 | return tran()->channel(); |
no test coverage detected