Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use Mailbox::get_unique<>(), and save a few delete.
[simgrid.git] / examples / s4u / comm-ready / s4u-comm-ready.cpp
index d51ebbd..6aced3a 100644 (file)
@@ -74,9 +74,9 @@ static void peer(int argc, char** argv)
   long pending_finalize_messages = peers_count - 1;
   while (pending_finalize_messages > 0) {
     if (my_mbox->ready()) {
-      double start                = simgrid::s4u::Engine::get_clock();
-      const auto* received        = my_mbox->get<std::string>();
-      double waiting_time         = simgrid::s4u::Engine::get_clock() - start;
+      double start        = simgrid::s4u::Engine::get_clock();
+      auto received       = my_mbox->get_unique<std::string>();
+      double waiting_time = simgrid::s4u::Engine::get_clock() - start;
       xbt_assert(
           waiting_time == 0,
           "Expecting the waiting time to be 0 because the communication was supposedly ready, but got %f instead",
@@ -85,7 +85,6 @@ static void peer(int argc, char** argv)
       if (*received == "finalize") {
         pending_finalize_messages--;
       }
-      delete received;
     } else {
       XBT_INFO("Nothing ready to consume yet, I better sleep for a while");
       simgrid::s4u::this_actor::sleep_for(.01);