X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/575da6eb0c35cfee471dcdce960cc4b30440532d..bc725cdee967b43e83ef32dfb33a8d2d62351d6b:/src/mc/ModelChecker.cpp diff --git a/src/mc/ModelChecker.cpp b/src/mc/ModelChecker.cpp index feab1c39ef..f44ed02065 100644 --- a/src/mc/ModelChecker.cpp +++ b/src/mc/ModelChecker.cpp @@ -40,23 +40,25 @@ ModelChecker::ModelChecker(std::unique_ptr remote_simulation, int void ModelChecker::start() { - checker_side_.start([](evutil_socket_t sig, short events, void* arg) { - auto mc = static_cast(arg); - if (events == EV_READ) { - std::array buffer; - ssize_t size = mc->checker_side_.get_channel().receive(buffer.data(), buffer.size(), false); - if (size == -1 && errno != EAGAIN) - throw simgrid::xbt::errno_error(); - - if (not mc->handle_message(buffer.data(), size)) - mc->checker_side_.break_loop(); - } else if (events == EV_SIGNAL) { - if (sig == SIGCHLD) - mc->handle_waitpid(); - } else { - xbt_die("Unexpected event"); - } - }); + checker_side_.start( + [](evutil_socket_t sig, short events, void* arg) { + auto mc = static_cast(arg); + if (events == EV_READ) { + std::array buffer; + ssize_t size = mc->checker_side_.get_channel().receive(buffer.data(), buffer.size(), false); + if (size == -1 && errno != EAGAIN) + throw simgrid::xbt::errno_error(); + + if (not mc->handle_message(buffer.data(), size)) + mc->checker_side_.break_loop(); + } else if (events == EV_SIGNAL) { + if (sig == SIGCHLD) + mc->handle_waitpid(); + } else { + xbt_die("Unexpected event"); + } + }, + this); XBT_DEBUG("Waiting for the model-checked process"); int status;