typedef void (*smx_pfn_context_start_t) (smx_context_t);
typedef void (*smx_pfn_context_stop_t) (smx_context_t);
typedef void (*smx_pfn_context_suspend_t) (smx_context_t context);
-typedef void (*smx_pfn_context_runall_t) (xbt_dynar_t processes);
+typedef void (*smx_pfn_context_runall_t) (void);
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 {
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;
extern char* smx_context_factory_name;
extern int smx_context_stack_size;
-#ifdef CONTEXT_THREADS
+#ifdef HAVE_THREAD_LOCAL_STORAGE
extern __thread smx_context_t smx_current_context;
#else
extern smx_context_t smx_current_context;
/* the following function pointers types describe the interface that all context
concepts must implement */
/* each context type derive from this structure, so they must contain this structure
- * at their begining -- OOP in C :/ */
+ * at their beginning -- OOP in C :/ */
typedef struct s_smx_context {
s_xbt_swag_hookup_t hookup;
xbt_main_func_t code;
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 */
XBT_INLINE void SIMIX_context_set_nthreads(int nb_threads);