From 648ed185a1cfef73179102bd7340785a4fd5d2a6 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Fri, 4 May 2018 11:05:47 +0200 Subject: [PATCH] msg_process_from_PID => sg_actor_by_PID --- include/simgrid/actor.h | 1 + include/simgrid/msg.h | 2 +- src/msg/msg_legacy.cpp | 4 ++++ src/msg/msg_process.cpp | 13 ------------- src/s4u/s4u_Actor.cpp | 13 +++++++++++++ 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/include/simgrid/actor.h b/include/simgrid/actor.h index 0cdb36f6b0..ebbc070ca5 100644 --- a/include/simgrid/actor.h +++ b/include/simgrid/actor.h @@ -25,6 +25,7 @@ SG_BEGIN_DECL() XBT_PUBLIC int sg_actor_get_PID(sg_actor_t actor); XBT_PUBLIC int sg_actor_get_PPID(sg_actor_t actor); +XBT_PUBLIC sg_actor_t sg_actor_by_PID(aid_t pid); XBT_PUBLIC const char* sg_actor_get_name(sg_actor_t actor); XBT_PUBLIC sg_host_t sg_actor_get_host(sg_actor_t actor); XBT_PUBLIC const char* sg_actor_get_property_value(sg_actor_t actor, const char* name); diff --git a/include/simgrid/msg.h b/include/simgrid/msg.h index abacb70ff9..1ea45bfdc7 100644 --- a/include/simgrid/msg.h +++ b/include/simgrid/msg.h @@ -127,6 +127,7 @@ typedef sg_actor_t msg_process_t; XBT_PUBLIC int MSG_process_get_PID(msg_process_t process); XBT_PUBLIC int MSG_process_get_PPID(msg_process_t process); +XBT_PUBLIC sg_actor_t MSG_process_from_PID(int pid); XBT_PUBLIC const char* MSG_process_get_name(msg_process_t process); XBT_PUBLIC sg_host_t MSG_process_get_host(msg_process_t process); @@ -244,7 +245,6 @@ XBT_PUBLIC int MSG_process_killall(); XBT_PUBLIC void MSG_process_yield(); XBT_PUBLIC void MSG_process_set_data_cleanup(void_f_pvoid_t data_cleanup); -XBT_PUBLIC msg_process_t MSG_process_from_PID(int PID); XBT_PUBLIC int MSG_process_self_PID(); XBT_PUBLIC int MSG_process_self_PPID(); XBT_PUBLIC const char* MSG_process_self_name(); diff --git a/src/msg/msg_legacy.cpp b/src/msg/msg_legacy.cpp index 7f65062359..304dab0d1f 100644 --- a/src/msg/msg_legacy.cpp +++ b/src/msg/msg_legacy.cpp @@ -16,6 +16,10 @@ int MSG_process_get_PPID(sg_actor_t actor) { return sg_actor_get_PPID(actor); } +msg_process_t MSG_process_from_PID(int PID) +{ + return sg_actor_by_PID(PID); +} const char* MSG_process_get_name(sg_actor_t actor) { return sg_actor_get_name(actor); diff --git a/src/msg/msg_process.cpp b/src/msg/msg_process.cpp index c2cdf20b0b..bbadeabbf0 100644 --- a/src/msg/msg_process.cpp +++ b/src/msg/msg_process.cpp @@ -242,19 +242,6 @@ XBT_PUBLIC void MSG_process_set_data_cleanup(void_f_pvoid_t data_cleanup) msg_global->process_data_cleanup = data_cleanup; } -/** \ingroup m_process_management - * - * \brief Return a #msg_process_t given its PID. - * - * This function search in the list of all the created msg_process_t for a msg_process_t whose PID is equal to \a PID. - * If no host is found, \c nullptr is returned. - Note that the PID are uniq in the whole simulation, not only on a given host. - */ -msg_process_t MSG_process_from_PID(int PID) -{ - return SIMIX_process_from_PID(PID)->ciface(); -} - /** @brief returns a list of all currently existing processes */ xbt_dynar_t MSG_processes_as_dynar() { xbt_dynar_t res = xbt_dynar_new(sizeof(smx_actor_t), nullptr); diff --git a/src/s4u/s4u_Actor.cpp b/src/s4u/s4u_Actor.cpp index 45239547be..e4744b6638 100644 --- a/src/s4u/s4u_Actor.cpp +++ b/src/s4u/s4u_Actor.cpp @@ -461,6 +461,19 @@ int sg_actor_get_PPID(sg_actor_t actor) return actor->get_ppid(); } +/** \ingroup m_actor_management + * + * \brief Return a #sg_actor_t given its PID. + * + * This function search in the list of all the created sg_actor_t for a sg_actor_t whose PID is equal to \a PID. + * If none is found, \c nullptr is returned. + Note that the PID are unique in the whole simulation, not only on a given host. + */ +sg_actor_t sg_actor_by_PID(aid_t pid) +{ + return simgrid::s4u::Actor::by_pid(pid).get(); +} + /** \ingroup m_actor_management * \brief Return the name of an actor. */ -- 2.20.1