X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/af72ee01a6a0c01b1a67dc3095f952fd8ab1dd42..305d783c9c259a5ec28836bdf697f73c6451aa2f:/examples/cpp/mc-bugged2/s4u-mc-bugged2.cpp diff --git a/examples/cpp/mc-bugged2/s4u-mc-bugged2.cpp b/examples/cpp/mc-bugged2/s4u-mc-bugged2.cpp index 33cb1b3b38..1fd55a88d2 100644 --- a/examples/cpp/mc-bugged2/s4u-mc-bugged2.cpp +++ b/examples/cpp/mc-bugged2/s4u-mc-bugged2.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2023. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -12,33 +12,27 @@ #include XBT_LOG_NEW_DEFAULT_CATEGORY(example, "this example"); +namespace sg4 = simgrid::s4u; static void server() { - const int* received1 = nullptr; - const int* received2 = nullptr; - - received1 = simgrid::s4u::Mailbox::by_name("mymailbox")->get(); + auto received1 = sg4::Mailbox::by_name("mymailbox")->get_unique(); long val1 = *received1; - received1 = nullptr; - XBT_INFO("Received %ld", val1); - received2 = simgrid::s4u::Mailbox::by_name("mymailbox")->get(); + auto received2 = sg4::Mailbox::by_name("mymailbox")->get_unique(); long val2 = *received2; - received2 = nullptr; - XBT_INFO("Received %ld", val2); - MC_assert(std::min(val1, val2) == 1); + XBT_INFO("First pair received: %ld %ld", val1, val2); + + MC_assert(std::min(val1, val2) == 1); // if the two messages of the second client arrive first, this is violated. - received1 = simgrid::s4u::Mailbox::by_name("mymailbox")->get(); + received1 = sg4::Mailbox::by_name("mymailbox")->get_unique(); val1 = *received1; - XBT_INFO("Received %ld", val1); - received2 = simgrid::s4u::Mailbox::by_name("mymailbox")->get(); + received2 = sg4::Mailbox::by_name("mymailbox")->get_unique(); val2 = *received2; - XBT_INFO("Received %ld", val2); - XBT_INFO("OK"); + XBT_INFO("Second pair received: %ld %ld", val1, val2); } static void client(int id) @@ -46,22 +40,19 @@ static void client(int id) auto* payload1 = new int(id); auto* payload2 = new int(id); - XBT_INFO("Send %d", id); - simgrid::s4u::Mailbox::by_name("mymailbox")->put(payload1, 10000); - - XBT_INFO("Send %d", id); - simgrid::s4u::Mailbox::by_name("mymailbox")->put(payload2, 10000); + sg4::Mailbox::by_name("mymailbox")->put(payload1, 10000); + sg4::Mailbox::by_name("mymailbox")->put(payload2, 10000); } int main(int argc, char* argv[]) { - simgrid::s4u::Engine e(&argc, argv); + sg4::Engine e(&argc, argv); e.load_platform(argv[1]); - simgrid::s4u::Actor::create("server", simgrid::s4u::Host::by_name("HostA"), server); - simgrid::s4u::Actor::create("client", simgrid::s4u::Host::by_name("HostB"), client, 1); - simgrid::s4u::Actor::create("client", simgrid::s4u::Host::by_name("HostC"), client, 2); + sg4::Actor::create("server", e.host_by_name("HostA"), server); + sg4::Actor::create("client", e.host_by_name("HostB"), client, 1); + sg4::Actor::create("client", e.host_by_name("HostC"), client, 2); e.run(); return 0;