Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
(wip) Move the MCed public API in the same file
[simgrid.git] / src / mc / mc_server.cpp
index 2308a85..d9a024f 100644 (file)
@@ -152,9 +152,16 @@ void s_mc_server::handle_events()
 
       switch(base_message.type) {
 
-      case MC_MESSAGE_IGNORE_REGION:
+      case MC_MESSAGE_IGNORE_HEAP:
         XBT_DEBUG("Received ignored region");
-        if (size != sizeof(s_mc_ignore_region_message_t))
+        if (size != sizeof(s_mc_ignore_heap_message_t))
+          xbt_die("Broken messsage");
+        // TODO, handle the message
+        break;
+
+      case MC_MESSAGE_UNIGNORE_HEAP:
+        XBT_DEBUG("Received unignored region");
+        if (size != sizeof(s_mc_ignore_memory_message_t))
           xbt_die("Broken messsage");
         // TODO, handle the message
         break;
@@ -171,6 +178,19 @@ void s_mc_server::handle_events()
         }
         break;
 
+      case MC_MESSAGE_STACK_REGION:
+        {
+          XBT_DEBUG("Received stack area");
+          s_mc_stack_region_message_t message;
+          if (size != sizeof(message))
+            xbt_die("Broken messsage");
+          memcpy(&message, buffer, sizeof(message));
+          stack_region_t stack_region = xbt_new(s_stack_region_t, 1);
+          *stack_region = message.stack_region;
+          MC_stack_area_add(stack_region);
+        }
+        break;
+
       default:
         xbt_die("Unexpected message from model-checked application");