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
please sonar
[simgrid.git]
/
src
/
s4u
/
s4u_Exec.cpp
diff --git
a/src/s4u/s4u_Exec.cpp
b/src/s4u/s4u_Exec.cpp
index
5f1d222
..
83e6784
100644
(file)
--- a/
src/s4u/s4u_Exec.cpp
+++ b/
src/s4u/s4u_Exec.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2006-201
8
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-201
9
. 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. */
@@
-15,7
+15,7
@@
namespace s4u {
simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> s4u::Exec::on_start;
simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> s4u::Exec::on_completion;
simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> s4u::Exec::on_start;
simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> s4u::Exec::on_completion;
-
Activity
* Exec::start()
+
Exec
* Exec::start()
{
pimpl_ = simcall_execution_start(name_, tracing_category_, flops_amount_, 1. / priority_, bound_, host_);
state_ = State::STARTED;
{
pimpl_ = simcall_execution_start(name_, tracing_category_, flops_amount_, 1. / priority_, bound_, host_);
state_ = State::STARTED;
@@
-23,22
+23,24
@@
Activity* Exec::start()
return this;
}
return this;
}
-
Activity
* Exec::cancel()
+
Exec
* Exec::cancel()
{
simgrid::simix::simcall([this] { dynamic_cast<kernel::activity::ExecImpl*>(pimpl_.get())->cancel(); });
state_ = State::CANCELED;
return this;
}
{
simgrid::simix::simcall([this] { dynamic_cast<kernel::activity::ExecImpl*>(pimpl_.get())->cancel(); });
state_ = State::CANCELED;
return this;
}
-
Activity
* Exec::wait()
+
Exec
* Exec::wait()
{
{
+ if (state_ == State::INITED)
+ start();
simcall_execution_wait(pimpl_);
state_ = State::FINISHED;
on_completion(Actor::self());
return this;
}
simcall_execution_wait(pimpl_);
state_ = State::FINISHED;
on_completion(Actor::self());
return this;
}
-
Activity* Exec::wait
(double timeout)
+
Exec* Exec::wait_for
(double timeout)
{
THROW_UNIMPLEMENTED;
return this;
{
THROW_UNIMPLEMENTED;
return this;