Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Biggest commit ever (SIMIX2): the user processes can now run in parallel
[simgrid.git] / src / simix / smx_context_private.h
index cce495c..fc577da 100644 (file)
@@ -17,6 +17,8 @@ SG_BEGIN_DECL()
 typedef void (*SIMIX_ctx_factory_initializer_t)(smx_context_factory_t *);
 extern SIMIX_ctx_factory_initializer_t factory_initializer_to_use;
 
+extern int _surf_parallel_contexts;
+
 /* *********************** */
 /* Context type definition */
 /* *********************** */
@@ -29,8 +31,8 @@ typedef struct s_smx_context {
   xbt_main_func_t code;
   int argc;
   char **argv;
-  void_f_pvoid_t cleanup_func;
-  void *cleanup_arg;
+  void_pfn_smxprocess_t cleanup_func;
+  smx_process_t process;
 } s_smx_ctx_base_t;
 /* methods of this class */
 void smx_ctx_base_factory_init(smx_context_factory_t * factory);
@@ -40,10 +42,11 @@ smx_context_t
 smx_ctx_base_factory_create_context_sized(size_t size,
                                           xbt_main_func_t code, int argc,
                                           char **argv,
-                                          void_f_pvoid_t cleanup_func,
-                                          void *cleanup_arg);
+                                          void_pfn_smxprocess_t cleanup,
+                                          smx_process_t process);
 void smx_ctx_base_free(smx_context_t context);
 void smx_ctx_base_stop(smx_context_t context);
+smx_process_t smx_ctx_base_self(void);
 
 SG_END_DECL()
 #endif                          /* !_XBT_CONTEXT_PRIVATE_H */