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
allow to cancel a s4u::Exec
[simgrid.git]
/
src
/
s4u
/
s4u_Exec.cpp
diff --git
a/src/s4u/s4u_Exec.cpp
b/src/s4u/s4u_Exec.cpp
index
d956b76
..
94da9d2
100644
(file)
--- a/
src/s4u/s4u_Exec.cpp
+++ b/
src/s4u/s4u_Exec.cpp
@@
-15,11
+15,18
@@
namespace s4u {
Activity* Exec::start()
{
Activity* Exec::start()
{
- pimpl_ = simcall_execution_start(name_, flops_amount_, 1. / priority_, bound_, host_);
+ pimpl_ = simcall_execution_start(name_,
tracing_category_,
flops_amount_, 1. / priority_, bound_, host_);
state_ = State::STARTED;
return this;
}
state_ = State::STARTED;
return this;
}
+Activity* Exec::cancel()
+{
+ simcall_execution_cancel(pimpl_);
+ state_ = State::CANCELED;
+ return this;
+}
+
Activity* Exec::wait()
{
simcall_execution_wait(pimpl_);
Activity* Exec::wait()
{
simcall_execution_wait(pimpl_);
@@
-96,6
+103,13
@@
ExecPtr Exec::set_name(std::string name)
return this;
}
return this;
}
+ExecPtr Exec::set_tracing_category(std::string category)
+{
+ xbt_assert(state_ == State::INITED, "Cannot change the tracing category of an exec after its start");
+ tracing_category_ = category;
+ return this;
+}
+
/** @brief Retrieve the host on which this activity takes place. */
Host* Exec::get_host()
{
/** @brief Retrieve the host on which this activity takes place. */
Host* Exec::get_host()
{