add: if (inputs_not_finished_rep == 0) { ecadebug->msg(ECA_DEBUG::system_objects,"(eca-engine) input not finished / stop"); stop();
context: void ECA_ENGINE::update_engine_state(void){  // --  // Check whether all inputs have finished  // (note: as update_engine_state() is   // guaranteed to not to be called at the same   // time as engine_iteration(), this is the   // only safe place to calculate finished state    if (inputs_not_finished_rep == 0 &&       outputs_finished_rep == 0 &&       finished_rep != true) {    if (is_active() == true) {      ecadebug->msg(ECA_DEBUG::system_objects,"(eca-engine) all inputs finished - stop");      request_stop();    }    finished_rep = true;  }    // --  // Check whether some output has raised an error  if (status() == ECA_ENGINE::engine_status_error) {    if (is_active() == true) {      ecadebug->msg(ECA_DEBUG::system_objects,"(eca-engine) output error - stop");      request_stop();    }  }}