"--cfg=model-check/replay:'%s'",
explo->get_record_trace().to_string().c_str());
explo->log_state();
- throw DeadlockError();
+ throw McError(ExitStatus::DEADLOCK);
}
}
void restore_initial_state();
void wait_for_requests();
- /** Ask to the application to check for a deadlock. If so, do an error message and throw a DeadlockError. */
+ /** Ask to the application to check for a deadlock. If so, do an error message and throw a McError(DEADLOCK). */
void check_deadlock() const;
/** Ask the application to run post-mortem analysis, and maybe to stop ASAP */
get_record_trace().to_string().c_str());
log_state();
- throw TerminationError();
+ throw McError(ExitStatus::NON_TERMINATION);
}
}
#endif
reached_pair = this->insert_acceptance_pair(current_pair.get());
if (reached_pair == nullptr) {
this->show_acceptance_cycle(current_pair->depth);
- throw LivenessError();
+ throw McError(ExitStatus::LIVENESS);
}
}
const ExitStatus value;
McError(ExitStatus v = ExitStatus::ERROR) : value(v) {}
};
-
-struct DeadlockError : public McError {
- DeadlockError() : McError(ExitStatus::DEADLOCK) {}
-};
-struct TerminationError : public McError {
- TerminationError() : McError(ExitStatus::NON_TERMINATION) {}
-};
-struct LivenessError : public McError {
- LivenessError() : McError(ExitStatus::LIVENESS) {}
-};
} // namespace simgrid::mc
#endif