SG_BEGIN_DECL()
XBT_PUBLIC(smx_actor_t) SIMIX_process_from_PID(aid_t PID);
-XBT_PUBLIC(xbt_dynar_t) SIMIX_processes_as_dynar();
/* parallelism */
XBT_PUBLIC(int) SIMIX_context_is_parallel();
#include "msg_private.h"
#include "simgrid/s4u/Host.hpp"
#include "src/simix/ActorImpl.hpp"
+#include "src/simix/smx_private.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_process, msg, "Logging specific to MSG (process)");
/** @brief returns a list of all currently existing processes */
xbt_dynar_t MSG_processes_as_dynar() {
- return SIMIX_processes_as_dynar();
+ xbt_dynar_t res = xbt_dynar_new(sizeof(smx_actor_t), nullptr);
+ for (auto kv : simix_global->process_list) {
+ smx_actor_t actor = kv.second;
+ xbt_dynar_push(res, &actor);
+ }
+ return res;
}
/** @brief Return the current number MSG processes. */
return process == simix_global->process_list.end() ? nullptr : process->second;
}
-/** @brief returns a dynar containing all currently existing processes */
-xbt_dynar_t SIMIX_processes_as_dynar() {
- xbt_dynar_t res = xbt_dynar_new(sizeof(smx_actor_t),nullptr);
- for (auto kv : simix_global->process_list) {
- smx_actor_t proc = kv.second;
- xbt_dynar_push(res,&proc);
- }
- return res;
-}
-
void SIMIX_process_on_exit_runall(smx_actor_t process) {
smx_process_exit_status_t exit_status = (process->context->iwannadie) ? SMX_EXIT_FAILURE : SMX_EXIT_SUCCESS;
while (not process->on_exit.empty()) {