rem: csetup_repp->toggle_locked_state(true);
add: ECA_LOG_MSG(ECA_LOGGER::system_objects, "(eca-engine) starting engine operation!");
context: void ECA_ENGINE::start_operation(void){  // ---  DBC_REQUIRE(is_active() != true);  // ---  /* 1. acquire rt-lock for chainsetup and samplebuffers */  csetup_repp->toggle_locked_state(true);  for(size_t n = 0; n < cslots_rep.size(); n++) {    cslots_rep[n]->set_rt_lock(true);  }  mixslot_repp->set_rt_lock(true);  /* 2. enable rt-scheduling */  if (csetup_repp->raised_priority() == true) {    struct sched_param sparam;    sparam.sched_priority = csetup_repp->get_sched_priority();    if (::sched_setscheduler(0, SCHED_FIFO, &sparam) == -1)      ECA_LOG_MSG(ECA_LOGGER::system_objects, "(eca-engine) Unable to change scheduling policy!");    else       ECA_LOG_MSG(ECA_LOGGER::info, "(eca-engine) Using realtime-scheduling (SCHED_FIFO).");  }  /* 3. reinitialize chains if necessary */  for(size_t i = 0; i != chains_repp->size(); i++) {    if ((*chains_repp)[i]->is_initialized() != true) (*chains_repp)[i]->init(0, 0, 0);  }  /* 4. start subsystem servers */  start_servers();  /* 5. start realtime devices */  start_realtime_objects();  /* 6. change engine to active and running */  samples_since_trigger_rep = 0;  active_rep = true;  init_engine_state();  // ---  DBC_ENSURE(is_active() == true);  DBC_ENSURE(status() == ECA_ENGINE::engine_status_running);  // ---}