Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
convert map to dynar at API level
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Mon, 7 Aug 2017 14:25:20 +0000 (16:25 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Mon, 7 Aug 2017 14:25:20 +0000 (16:25 +0200)
include/simgrid/simix.h
src/msg/msg_process.cpp
src/simix/ActorImpl.cpp

index 232564a..80721f5 100644 (file)
@@ -73,7 +73,6 @@ extern int smx_context_guard_size_was_set;
 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();
index 18878b0..d26778e 100644 (file)
@@ -6,6 +6,7 @@
 #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)");
 
@@ -304,7 +305,12 @@ msg_process_t MSG_process_from_PID(int PID)
 
 /** @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. */
index e3f5d1d..00d518b 100644 (file)
@@ -834,16 +834,6 @@ smx_actor_t SIMIX_process_from_PID(aid_t PID)
   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()) {