-void ModelChecker::handle_events(int fd, short events)
-{
- if (events == EV_READ) {
- char buffer[MC_MESSAGE_LENGTH];
- ssize_t size = process_->get_channel().receive(buffer, sizeof(buffer), false);
- if (size == -1 && errno != EAGAIN)
- throw simgrid::xbt::errno_error();
- if (not handle_message(buffer, size)) {
- event_base_loopbreak(base_);
- }
- }
- else if (events == EV_SIGNAL) {
- on_signal(fd);
- }
- else {
- xbt_die("Unexpected event");
- }
-}
-
-void ModelChecker::loop()
-{
- if (this->process().running())
- event_base_dispatch(base_);
-}
-