X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8f53b49a3b699b15a97868ce7a137e9e43de444c..ffc784d0a7d4b10e9ee73d12a4c355e2644e9afa:/include/simix/context.h diff --git a/include/simix/context.h b/include/simix/context.h index 7775c66ac8..055fa3b81e 100644 --- a/include/simix/context.h +++ b/include/simix/context.h @@ -11,6 +11,7 @@ #include "xbt/swag.h" #include "simix/datatypes.h" +#include "simgrid_config.h" SG_BEGIN_DECL() /******************************** Context *************************************/ @@ -58,7 +59,12 @@ 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; + +#ifdef CONTEXT_THREADS +extern __thread smx_context_t smx_current_context; +#else extern smx_context_t smx_current_context; +#endif /* *********************** */ /* Context type definition */ @@ -94,9 +100,11 @@ 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); +XBT_INLINE void SIMIX_context_set_nthreads(int nb_threads); +XBT_INLINE int SIMIX_context_get_nthreads(void); +XBT_INLINE int SIMIX_context_is_parallel(void); +XBT_INLINE void SIMIX_context_set_parallel_threshold(int threshold); +XBT_INLINE int SIMIX_context_get_parallel_threshold(void); SG_END_DECL()