A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Clang-tidy: readability-qualified-auto.
[simgrid.git]
/
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
b34d160
..
91aad4d
100644
(file)
--- a/
teshsuite/s4u/actor-suspend/actor-suspend.cpp
+++ b/
teshsuite/s4u/actor-suspend/actor-suspend.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2020
-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. */
/* 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. */
@@
-6,30
+6,32
@@
// This is the MWE of https://framagit.org/simgrid/simgrid/-/issues/50
// The problem was occurring when suspending an actor that will be executed later in the same scheduling round
// This is the MWE of https://framagit.org/simgrid/simgrid/-/issues/50
// The problem was occurring when suspending an actor that will be executed later in the same scheduling round
+#include <cstdio>
+#include <cstdlib>
#include <iostream>
#include <simgrid/s4u.hpp>
#include <iostream>
#include <simgrid/s4u.hpp>
-#include <stdio.h>
-#include <stdlib.h>
#include <vector>
XBT_LOG_NEW_DEFAULT_CATEGORY(mwe, "Minimum Working Example");
#include <vector>
XBT_LOG_NEW_DEFAULT_CATEGORY(mwe, "Minimum Working Example");
-simgrid::s4u::ActorPtr receiver;
-
class Receiver {
public:
class Receiver {
public:
- void operator()()
+ void operator()()
const
{
XBT_INFO("Starting.");
{
XBT_INFO("Starting.");
- auto mailbox = simgrid::s4u::Mailbox::by_name("receiver");
- int data = *
(int*)mailbox->get
();
+ auto
*
mailbox = simgrid::s4u::Mailbox::by_name("receiver");
+ int data = *
mailbox->get<int>
();
XBT_INFO("Got %d at the end", data);
}
};
class Suspender {
XBT_INFO("Got %d at the end", data);
}
};
class Suspender {
+ const simgrid::s4u::ActorPtr& receiver;
+
public:
public:
- void operator()()
+ explicit Suspender(const simgrid::s4u::ActorPtr& receiver) : receiver(receiver) {}
+
+ void operator()() const
{
XBT_INFO("Suspend the receiver...");
receiver->suspend();
{
XBT_INFO("Suspend the receiver...");
receiver->suspend();
@@
-40,8
+42,8
@@
public:
simgrid::s4u::this_actor::sleep_for(10);
XBT_INFO("Sending a message to the receiver...");
simgrid::s4u::this_actor::sleep_for(10);
XBT_INFO("Sending a message to the receiver...");
- auto
mailbox
= simgrid::s4u::Mailbox::by_name("receiver");
-
int data
= 42;
+ auto
* mailbox
= simgrid::s4u::Mailbox::by_name("receiver");
+
static int data
= 42;
mailbox->put(&data, 4);
XBT_INFO("Done!");
mailbox->put(&data, 4);
XBT_INFO("Done!");
@@
-50,15
+52,16
@@
public:
int main(int argc, char** argv)
{
int main(int argc, char** argv)
{
- simgrid::s4u::Engine
* engine = new simgrid::s4u::E
ngine(&argc, argv);
+ simgrid::s4u::Engine
e
ngine(&argc, argv);
- engine
->
load_platform(argv[1]);
- simgrid::s4u::Host* host =
simgrid::s4u::Host::
by_name("Tremblay");
+ 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());
receiver = simgrid::s4u::Actor::create("Receiver", host, Receiver());
- engine
->
run();
+ engine
.
run();
return 0;
}
return 0;
}