From: Arnaud Giersch Date: Mon, 4 Feb 2019 09:45:21 +0000 (+0100) Subject: Merge remote-tracking branch 'origin/master' X-Git-Tag: v3_22~395 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/01580c40cb0af46b83f1c82c7c12048798b3a3fd?hp=6327dcc144dab9abeace9fce8ac0c467a632f681 Merge remote-tracking branch 'origin/master' --- diff --git a/include/simgrid/simix.h b/include/simgrid/simix.h index 74d5ad94fa..c17d7ec04b 100644 --- a/include/simgrid/simix.h +++ b/include/simgrid/simix.h @@ -188,6 +188,7 @@ SG_BEGIN_DECL() XBT_ATTRIB_DEPRECATED_v324("Please use ActorImpl::throw_exception") XBT_PUBLIC void SIMIX_process_throw(smx_actor_t process, xbt_errcat_t cat, int value, const char* mesg); +void simcall_process_set_data(smx_actor_t process, void* data); /* Process handling */ XBT_PUBLIC void simcall_process_suspend(smx_actor_t process); XBT_PUBLIC void simcall_process_join(smx_actor_t process, double timeout); @@ -254,6 +255,23 @@ XBT_PUBLIC e_smx_state_t simcall_io_wait(smx_activity_t io); /************************** MC simcalls **********************************/ XBT_PUBLIC int simcall_mc_random(int min, int max); +/***************************** DEPRECATED CALLS ****************************/ +XBT_ATTRIB_DEPRECATED_v325("Please use sg_actor_set_kill_time()") XBT_PUBLIC + void simcall_process_set_kill_time(smx_actor_t process, double kill_time); + +XBT_ATTRIB_DEPRECATED_v325("Please use Comm::cancel()") XBT_PUBLIC void simcall_comm_cancel(smx_activity_t comm); + +XBT_ATTRIB_DEPRECATED_v325("Please use Exec::cancel()") XBT_PUBLIC + void simcall_execution_cancel(smx_activity_t execution); +XBT_ATTRIB_DEPRECATED_v325("Please use Exec::set_priority()") XBT_PUBLIC + void simcall_execution_set_priority(smx_activity_t execution, double priority); +XBT_ATTRIB_DEPRECATED_v325("Please use Exec::set_bound()") XBT_PUBLIC + void simcall_execution_set_bound(smx_activity_t execution, double bound); +#ifdef __cplusplus +XBT_ATTRIB_DEPRECATED_v325("Please use Exec::start()") XBT_PUBLIC smx_activity_t + simcall_execution_start(std::string name, std::string category, double flops_amount, double priority, double bound, + sg_host_t host); +#endif SG_END_DECL() #endif diff --git a/src/simix/ActorImpl.cpp b/src/simix/ActorImpl.cpp index c1d3170ca9..3b16efa0f6 100644 --- a/src/simix/ActorImpl.cpp +++ b/src/simix/ActorImpl.cpp @@ -762,3 +762,8 @@ smx_actor_t simcall_process_create(std::string name, simgrid::simix::ActorCode c return SIMIX_process_create(name, std::move(code), data, host, properties, self); }); } + +void simcall_process_set_data(smx_actor_t process, void* data) +{ + simgrid::simix::simcall([process, data] { process->set_user_data(data); }); +} diff --git a/src/simix/libsmx.cpp b/src/simix/libsmx.cpp index 6f11ad4b44..50962e328e 100644 --- a/src/simix/libsmx.cpp +++ b/src/simix/libsmx.cpp @@ -364,6 +364,39 @@ void unblock(smx_actor_t process) xbt_assert(SIMIX_is_maestro()); SIMIX_simcall_answer(&process->simcall); } +} // namespace simix +} // namespace simgrid +/* ****************************DEPRECATED CALLS******************************* */ +void simcall_process_set_kill_time(smx_actor_t process, double kill_time) +{ + simgrid::simix::simcall([process, kill_time] { process->set_kill_time(kill_time); }); +} +void simcall_comm_cancel(smx_activity_t comm) +{ + simgrid::simix::simcall([comm] { boost::static_pointer_cast(comm)->cancel(); }); +} +void simcall_execution_cancel(smx_activity_t exec) +{ + simgrid::simix::simcall([exec] { boost::static_pointer_cast(exec)->cancel(); }); +} +void simcall_execution_set_priority(smx_activity_t exec, double priority) +{ + simgrid::simix::simcall([exec, priority] { + boost::static_pointer_cast(exec)->set_priority(priority); + }); +} + +void simcall_execution_set_bound(smx_activity_t exec, double bound) +{ + simgrid::simix::simcall( + [exec, bound] { boost::static_pointer_cast(exec)->set_bound(bound); }); } + +smx_activity_t simcall_execution_start(std::string name, std::string category, double flops_amount, double priority, + double bound, sg_host_t host) +{ + return simgrid::simix::simcall([name, category, flops_amount, priority, bound, host] { + return SIMIX_execution_start(name, category, flops_amount, priority, bound, host); + }); }