Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of https://framagit.org/simgrid/simgrid
[simgrid.git] / src / mc / remote / CheckerSide.cpp
index 02e8e055650e988e85de1b64c03a27bd8db8c930..0b735e8af5091a42eb8e518afa64bc497463b572 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "src/mc/remote/CheckerSide.hpp"
 #include "src/mc/ModelChecker.hpp"
+#include "src/mc/sosp/RemoteProcessMemory.hpp"
 #include "xbt/system_error.hpp"
 #include <csignal>
 #include <sys/wait.h>
@@ -12,8 +13,7 @@
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_checkerside, mc, "MC communication with the application");
 
 namespace simgrid::mc {
-
-void CheckerSide::start(ModelChecker* mc)
+CheckerSide::CheckerSide(int sockfd, ModelChecker* mc) : channel_(sockfd)
 {
   auto* base = event_base_new();
   base_.reset(base);
@@ -47,7 +47,7 @@ void CheckerSide::start(ModelChecker* mc)
         auto mc = static_cast<simgrid::mc::ModelChecker*>(arg);
         if (events == EV_SIGNAL) {
           if (sig == SIGCHLD)
-            mc->handle_waitpid();
+            mc->handle_waitpid(mc->get_remote_process_memory().pid());
           else
             xbt_die("Unexpected signal: %d", sig);
         } else {