Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
implement a SIMIX_processes_as_dynar() function
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 28 Feb 2012 10:27:49 +0000 (11:27 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Tue, 28 Feb 2012 10:27:49 +0000 (11:27 +0100)
include/simix/context.h
src/simix/smx_process.c

index 1b6eccb..9408c19 100644 (file)
@@ -97,6 +97,7 @@ XBT_PUBLIC(void) *smx_ctx_base_get_data(smx_context_t context);
 
 XBT_PUBLIC(xbt_dynar_t) SIMIX_process_get_runnable(void);
 XBT_PUBLIC(smx_process_t) SIMIX_process_from_PID(int PID);
+XBT_PUBLIC(xbt_dynar_t) SIMIX_processes_as_dynar(void);
 
 /* parallelism */
 XBT_PUBLIC(int) SIMIX_context_is_parallel(void);
index e830985..7c54b7a 100644 (file)
@@ -662,3 +662,13 @@ smx_process_t SIMIX_process_from_PID(int PID)
        }
        return NULL;
 }
+
+/** @brief returns a dynar containg all currently existing processes */
+xbt_dynar_t SIMIX_processes_as_dynar(void) {
+  smx_process_t proc;
+  xbt_dynar_t res = xbt_dynar_new(sizeof(smx_process_t),NULL);
+  xbt_swag_foreach(proc, simix_global->process_list) {
+    xbt_dynar_push(res,&proc);
+  }
+  return res;
+}