Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make mc::Api::get_actor_name return a const&.
[simgrid.git] / src / mc / ModelChecker.cpp
index df403c3412926b0a91bb656b26c11dfc862a58aa..3a9fb8513f62d3c66604ed3426677341f93274b0 100644 (file)
@@ -266,7 +266,7 @@ void ModelChecker::handle_waitpid()
       // From PTRACE_O_TRACEEXIT:
 #ifdef __linux__
       if (status>>8 == (SIGTRAP | (PTRACE_EVENT_EXIT<<8))) {
-        int ptrace_res = ptrace(PTRACE_GETEVENTMSG, remote_process_->pid(), 0, &status);
+        long ptrace_res = ptrace(PTRACE_GETEVENTMSG, remote_process_->pid(), 0, &status);
         xbt_assert(ptrace_res != -1, "Could not get exit status");
         if (WIFSIGNALED(status)) {
           MC_report_crash(status);
@@ -312,7 +312,7 @@ void ModelChecker::handle_simcall(Transition const& transition)
   s_mc_message_simcall_handle_t m;
   memset(&m, 0, sizeof(m));
   m.type  = MessageType::SIMCALL_HANDLE;
-  m.pid_              = transition.pid_;
+  m.aid_              = transition.aid_;
   m.times_considered_ = transition.times_considered_;
   checker_side_.get_channel().send(m);
   this->remote_process_->clear_cache();
@@ -383,7 +383,10 @@ std::string ModelChecker::simcall_dot_label(int aid, int times_considered)
 
 void ModelChecker::finalize_app(bool terminate_asap)
 {
-  s_mc_message_int_t m{MessageType::FINALIZE, terminate_asap};
+  s_mc_message_int_t m;
+  memset(&m, 0, sizeof m);
+  m.type  = MessageType::FINALIZE;
+  m.value = terminate_asap;
   int res = checker_side_.get_channel().send(m);
   xbt_assert(res == 0, "Could not ask the app to finalize on need");