Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use Mailbox::get_unique<>(), and save a few delete.
[simgrid.git] / examples / smpi / smpi_s4u_masterworker / masterworker_mailbox_smpi.cpp
index c81e697ed6b5731fe08e7f7a5e04630f47cc66d6..ae85a9a86e8a1945f61ceebde25d1b2f6fe75a65 100644 (file)
@@ -51,9 +51,8 @@ static void worker(std::vector<std::string> args)
 
   double compute_cost;
   do {
-    const auto* msg   = static_cast<double*>(mailbox->get());
-    compute_cost      = *msg;
-    delete msg;
+    auto msg     = mailbox->get_unique<double>();
+    compute_cost = *msg;
 
     if (compute_cost > 0) /* If compute_cost is valid, execute a computation of that cost */
       simgrid::s4u::this_actor::execute(compute_cost);