X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5ed37babb2fa9097abe82df299c0aa259ed84d5a..c10c571a634491a941c1b39c50020da8d709a940:/teshsuite/s4u/actor-suspend/actor-suspend.cpp diff --git a/teshsuite/s4u/actor-suspend/actor-suspend.cpp b/teshsuite/s4u/actor-suspend/actor-suspend.cpp index ef73720fbe..91aad4daa1 100644 --- a/teshsuite/s4u/actor-suspend/actor-suspend.cpp +++ b/teshsuite/s4u/actor-suspend/actor-suspend.cpp @@ -14,21 +14,23 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(mwe, "Minimum Working Example"); -simgrid::s4u::ActorPtr receiver; - class Receiver { public: void operator()() const { XBT_INFO("Starting."); - auto mailbox = simgrid::s4u::Mailbox::by_name("receiver"); + auto* mailbox = simgrid::s4u::Mailbox::by_name("receiver"); int data = *mailbox->get(); XBT_INFO("Got %d at the end", data); } }; class Suspender { + const simgrid::s4u::ActorPtr& receiver; + public: + explicit Suspender(const simgrid::s4u::ActorPtr& receiver) : receiver(receiver) {} + void operator()() const { XBT_INFO("Suspend the receiver..."); @@ -40,7 +42,7 @@ public: simgrid::s4u::this_actor::sleep_for(10); XBT_INFO("Sending a message to the receiver..."); - auto mailbox = simgrid::s4u::Mailbox::by_name("receiver"); + auto* mailbox = simgrid::s4u::Mailbox::by_name("receiver"); static int data = 42; mailbox->put(&data, 4); @@ -55,7 +57,8 @@ int main(int argc, char** argv) engine.load_platform(argv[1]); simgrid::s4u::Host* host = engine.host_by_name("Tremblay"); - simgrid::s4u::Actor::create("Suspender", host, Suspender()); + simgrid::s4u::ActorPtr receiver; + simgrid::s4u::Actor::create("Suspender", host, Suspender(receiver)); receiver = simgrid::s4u::Actor::create("Receiver", host, Receiver()); engine.run();