XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_context);
-typedef struct s_smx_ctx_sysv {
- s_smx_ctx_base_t super; /* Fields of super implementation */
- ucontext_t uc; /* the ucontext that executes the code */
-#ifdef HAVE_VALGRIND_VALGRIND_H
- unsigned int valgrind_stack_id; /* the valgrind stack id */
-#endif
- char stack[0]; /* the thread stack (must remain the last element of the structure) */
-} s_smx_ctx_sysv_t, *smx_ctx_sysv_t;
-
#ifdef CONTEXT_THREADS
static xbt_parmap_t sysv_parmap;
static ucontext_t* sysv_workers_stacks; /* space to save the worker's stack in each thread */
smx_context_t SIMIX_context_get_current(void);
/* All factories init */
+
+typedef struct s_smx_ctx_sysv {
+ s_smx_ctx_base_t super; /* Fields of super implementation */
+ ucontext_t uc; /* the ucontext that executes the code */
+#ifdef HAVE_VALGRIND_VALGRIND_H
+ unsigned int valgrind_stack_id; /* the valgrind stack id */
+#endif
+ char stack[0]; /* the thread stack (must remain the last element of the structure) */
+} s_smx_ctx_sysv_t, *smx_ctx_sysv_t;
+
void SIMIX_ctx_thread_factory_init(smx_context_factory_t *factory);
void SIMIX_ctx_sysv_factory_init(smx_context_factory_t *factory);
void SIMIX_ctx_raw_factory_init(smx_context_factory_t *factory);