Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
These functions in SIMIX should return 0, and that function in actions should return...
[simgrid.git] / src / simix / private.h
index 1991733..676d923 100644 (file)
@@ -12,6 +12,7 @@
 #include "xbt/fifo.h"
 #include "xbt/swag.h"
 #include "xbt/dict.h"
+#include "xbt/mallocator.h"
 #include "xbt/config.h"
 #include "xbt/function_types.h"
 #include "xbt/ex_interface.h"
 #include "synchro_private.h"
 #include "simix/context.h"
 
-/********************************** Simix Global ******************************/
-
+/* Define only for SimGrid benchmarking purposes */
+#undef TIME_BENCH
 
+/********************************** Simix Global ******************************/
 typedef struct s_smx_global {
   smx_context_factory_t context_factory;
   xbt_dict_t host;
@@ -35,8 +37,9 @@ typedef struct s_smx_global {
   smx_process_t maestro_process;
   xbt_dict_t registered_functions;
   smx_creation_func_t create_process_function;
-  void_f_pvoid_t kill_process_function;
+  void_pfn_smxprocess_t kill_process_function;
   void_pfn_smxprocess_t cleanup_process_function;
+  xbt_mallocator_t action_mallocator;
 } s_smx_global_t, *smx_global_t;
 
 extern smx_global_t simix_global;
@@ -258,5 +261,14 @@ static XBT_INLINE void* SIMIX_context_get_data(smx_context_t context)
   return (*(simix_global->context_factory->get_data))(context);
 }
 
+/**
+ \brief returns the thread's pid running the current context
+ \return The pid
+ */
+static XBT_INLINE int SIMIX_context_get_thread_id(void)
+{
+  return (*(simix_global->context_factory->get_thread_id))();
+}
+
 XBT_PUBLIC(int) SIMIX_process_get_maxpid(void);
 #endif