rem: break;
add: state->exit_request = 1;
context: void ecasound_main_loop(struct ecasound_state* state){  DBC_REQUIRE(state != 0);  DBC_REQUIRE(state->console != 0);  ECA_CONTROL* ctrl = state->control;  if (state->interactive_mode == true) {    while(state->exit_request == 0) {      state->console->read_command("ecasound ('h' for help)> ");      const string& cmd = state->console->last_command();      if (cmd.size() > 0 && state->exit_request == 0) {	if (state->daemon_mode == true) {	  int res = pthread_mutex_lock(state->lock);	  DBC_CHECK(res == 0);	}	ctrl->command(cmd);	ctrl->print_last_value();	if (state->daemon_mode == true) {	  int res = pthread_mutex_unlock(state->lock);	  DBC_CHECK(res == 0);	}	if (cmd == "quit" || cmd == "q") {	  state->console->print("---\necasound: Exiting...");	  break;	}      }    }  }  else {    if (state->daemon_mode == true) {      int res = pthread_mutex_lock(state->lock);      DBC_CHECK(res == 0);    }    ctrl->connect_chainsetup();    if (ctrl->is_connected() == true) {      ctrl->run();    }    else {      ctrl->print_last_value();    }    if (state->daemon_mode == true) {      int res = pthread_mutex_unlock(state->lock);      DBC_CHECK(res == 0);    }  }  // cerr << endl << "ecasound: mainloop exiting..." << endl;}