X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dee60c06c65803e929391a0102697323bda033e4..8f53b49a3b699b15a97868ce7a137e9e43de444c:/include/simix/context.h diff --git a/include/simix/context.h b/include/simix/context.h index 6bf251e2a7..7775c66ac8 100644 --- a/include/simix/context.h +++ b/include/simix/context.h @@ -35,6 +35,7 @@ typedef void (*smx_pfn_context_suspend_t) (smx_context_t context); typedef void (*smx_pfn_context_runall_t) (xbt_dynar_t processes); typedef smx_context_t (*smx_pfn_context_self_t) (void); typedef void* (*smx_pfn_context_get_data_t) (smx_context_t context); +typedef int (*smx_pfn_context_get_thread_id) (void); /* interface of the context factories */ typedef struct s_smx_context_factory { @@ -47,6 +48,7 @@ typedef struct s_smx_context_factory { smx_pfn_context_runall_t runall; smx_pfn_context_self_t self; smx_pfn_context_get_data_t get_data; + smx_pfn_context_get_thread_id get_thread_id; } s_smx_context_factory_t; @@ -56,7 +58,6 @@ typedef void (*smx_ctx_factory_initializer_t)(smx_context_factory_t*); extern smx_ctx_factory_initializer_t smx_factory_initializer_to_use; extern char* smx_context_factory_name; extern int smx_context_stack_size; -extern int smx_parallel_contexts; extern smx_context_t smx_current_context; /* *********************** */ @@ -90,6 +91,12 @@ void smx_ctx_base_free(smx_context_t context); void smx_ctx_base_stop(smx_context_t context); smx_context_t smx_ctx_base_self(void); void *smx_ctx_base_get_data(smx_context_t context); +int smx_ctx_base_get_thread_id(void); + +/* parallelism */ +void SIMIX_context_set_nthreads(int nb_threads); +int SIMIX_context_get_nthreads(void); +int SIMIX_context_is_parallel(void); SG_END_DECL()