X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=dol%2Fsrc%2Fdol%2Fvisitor%2Fhdsd%2Fscd%2Ffsm%2Fscd_stm_fail.cpp;fp=dol%2Fsrc%2Fdol%2Fvisitor%2Fhdsd%2Fscd%2Ffsm%2Fscd_stm_fail.cpp;h=53b13d3c391f1575472da333d336165ebda861b2;hb=8c411cf24ed0eb889191aaeafd8fa1e69081df42;hp=0000000000000000000000000000000000000000;hpb=dea7a4fb1ed110d3ce6e6d9255103d724bd66c0e;p=jump.git diff --git a/dol/src/dol/visitor/hdsd/scd/fsm/scd_stm_fail.cpp b/dol/src/dol/visitor/hdsd/scd/fsm/scd_stm_fail.cpp new file mode 100644 index 0000000..53b13d3 --- /dev/null +++ b/dol/src/dol/visitor/hdsd/scd/fsm/scd_stm_fail.cpp @@ -0,0 +1,17 @@ +#include "fsm/scd_stm_fail.h" + +#include "scd_logging.h" +#include "scd_exception.h" +#include "scd_cont_man_master.h" + + +void scd_stm_fail::process() +{ + if (!_some_slaves_active()) + { + // all slaves have terminated + _sim.get_chan_man().close(); + _close_slaves(); + _fsm.set_state(_st_failed); + } +}