]> AND Public Git Repository - simgrid.git/blobdiff - examples/s4u/mc-bugged1/s4u-mc-bugged1.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Useless cast to void*.
[simgrid.git] / examples / s4u / mc-bugged1 / s4u-mc-bugged1.cpp
index e642594ffa8b2928372480c0683299642717a5c0..e3c390259f98dcbf086f1478b960c7651e4d77b3 100644 (file)
@@ -17,17 +17,14 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(example, "this example");
 
 static void server()
 {
-  void* received = nullptr;
-  int count      = 0;
+  std::unique_ptr<int> received;
+  int count     = 0;
   while (count < N) {
-    if (received) {
-      delete static_cast<int*>(received);
-      received = nullptr;
-    }
-    received = simgrid::s4u::Mailbox::by_name("mymailbox")->get();
+    received.reset();
+    received = simgrid::s4u::Mailbox::by_name("mymailbox")->get_unique<int>();
     count++;
   }
-  int value_got = *(static_cast<int*>(received));
+  int value_got = *received;
   MC_assert(value_got == 3);
 
   XBT_INFO("OK");