X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/08ebacab3b8aeb2d74f811f8631e9c1c8c3938ed..db176451b42c9d524f82e6bb9951447e098dd492:/src/s4u/s4u_actor.cpp diff --git a/src/s4u/s4u_actor.cpp b/src/s4u/s4u_actor.cpp index abc984afc5..4a3141e567 100644 --- a/src/s4u/s4u_actor.cpp +++ b/src/s4u/s4u_actor.cpp @@ -52,6 +52,16 @@ void Actor::setAutoRestart(bool autorestart) { simcall_process_auto_restart_set(pimpl_,autorestart); } +void Actor::onExit(int_f_pvoid_pvoid_t fun, void* data) +{ + simcall_process_on_exit(pimpl_, fun, data); +} + +void Actor::migrate(Host* new_host) +{ + simcall_process_set_host(pimpl_, new_host); +} + s4u::Host* Actor::host() { return this->pimpl_->host; @@ -77,6 +87,16 @@ int Actor::ppid() return this->pimpl_->ppid; } +void Actor::suspend() +{ + simcall_process_suspend(pimpl_); +} + +void Actor::resume() +{ + simcall_process_resume(pimpl_); +} + void Actor::setKillTime(double time) { simcall_process_set_kill_time(pimpl_,time); } @@ -116,10 +136,16 @@ ActorPtr Actor::byPid(int pid) return ActorPtr(); } -void Actor::killAll() { +void Actor::killAll() +{ simcall_process_killall(1); } +void Actor::killAll(int resetPid) +{ + simcall_process_killall(resetPid); +} + // ***** this_actor ***** namespace this_actor { @@ -173,6 +199,36 @@ std::string name() { return SIMIX_process_self()->name; } + +Host* host() +{ + return SIMIX_process_self()->host; +} + +void suspend() +{ + simcall_process_suspend(SIMIX_process_self()); +} + +void resume() +{ + simcall_process_resume(SIMIX_process_self()); +} + +void kill() +{ + simcall_process_kill(SIMIX_process_self()); +} + +void onExit(int_f_pvoid_pvoid_t fun, void* data) +{ + simcall_process_on_exit(SIMIX_process_self(), fun, data); +} + +void migrate(Host* new_host) +{ + simcall_process_set_host(SIMIX_process_self(), new_host); +} } } }