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
Another attempt at fixing the Flag2 job of jenkins
[simgrid.git]
/
examples
/
cpp
/
task-switch-host
/
s4u-task-switch-host.cpp
diff --git
a/examples/cpp/task-switch-host/s4u-task-switch-host.cpp
b/examples/cpp/task-switch-host/s4u-task-switch-host.cpp
index 3694a7d4e6701a762b6f52c36f5a6f625dcbe6fd..c236bdbdb9a4eb1bb089e024d6cf2dc42cb64310 100644
(file)
--- a/
examples/cpp/task-switch-host/s4u-task-switch-host.cpp
+++ b/
examples/cpp/task-switch-host/s4u-task-switch-host.cpp
@@
-46,30
+46,35
@@
int main(int argc, char* argv[])
exec2->add_successor(comm2);
// Add a function to be called when tasks end for log purpose
exec2->add_successor(comm2);
// Add a function to be called when tasks end for log purpose
- sg4::Task::on_completion_cb([](const sg4::Task* t) {
- XBT_INFO("Task %s finished (%d)", t->get_name().c_str(), t->get_count());
- });
+ sg4::Task::on_completion_cb(
+ [](const sg4::Task* t) { XBT_INFO("Task %s finished (%d)", t->get_name().c_str(), t->get_count()); });
- // Add a function to be called before each
executions
of comm0
+ // Add a function to be called before each
firing
of comm0
// This function modifies the graph of tasks by adding or removing
// successors to comm0
// This function modifies the graph of tasks by adding or removing
// successors to comm0
- comm0->on_this_start_cb([exec1, exec2, jupiter, fafard](sg4::Task* t) {
- auto* comm0 = dynamic_cast<sg4::CommTask*>(t);
+ comm0->on_this_start_cb([&comm0, exec1, exec2, jupiter, fafard](const sg4::Task*) {
static int count = 0;
static int count = 0;
- if (count % 2 == 0)
{
+ if (count % 2 == 0)
comm0->set_destination(jupiter);
comm0->set_destination(jupiter);
+ else
+ comm0->set_destination(fafard);
+ count++;
+ });
+
+ comm0->on_this_completion_cb([&comm0, exec1, exec2](const sg4::Task*) {
+ static int count = 0;
+ if (count % 2 == 0) {
comm0->add_successor(exec1);
comm0->remove_successor(exec2);
} else {
comm0->add_successor(exec1);
comm0->remove_successor(exec2);
} else {
- comm0->set_destination(fafard);
comm0->add_successor(exec2);
comm0->remove_successor(exec1);
}
count++;
});
comm0->add_successor(exec2);
comm0->remove_successor(exec1);
}
count++;
});
- // Enqueue four
execution
s for task comm0
- comm0->enqueue_
exec
s(4);
+ // Enqueue four
firing
s for task comm0
+ comm0->enqueue_
firing
s(4);
// Start the simulation
e.run();
// Start the simulation
e.run();