static void smx_ctx_raw_suspend(smx_context_t context)
{
- smx_current_context = (smx_context_t)maestro_raw_context;
+ SIMIX_context_set_current((smx_context_t) maestro_raw_context);
raw_swapcontext(
&((smx_ctx_raw_t) context)->stack_top,
((smx_ctx_raw_t) context)->old_stack_top);
static void smx_ctx_raw_resume(smx_process_t process)
{
smx_ctx_raw_t context = (smx_ctx_raw_t)process->context;
- smx_current_context = (smx_context_t)context;
+ SIMIX_context_set_current((smx_context_t) context);
raw_swapcontext(
&((smx_ctx_raw_t) context)->old_stack_top,
((smx_ctx_raw_t) context)->stack_top);
XBT_VERB("Time SSR thread %u = %lf (max %lf)", cursor, time_thread_ssr[cursor], tmax);
time_wasted_ssr += tmax - time_thread_ssr[cursor];
}
-
- xbt_dynar_reset(processes);
}
void smx_ctx_raw_new_sr(void);
XBT_DEBUG("Schedule item %u of %lu",cursor,xbt_dynar_length(processes));
smx_ctx_raw_resume(process);
}
- xbt_dynar_reset(processes);
}
#endif
#ifdef CONTEXT_THREADS
xbt_parmap_apply(parmap, (void_f_pvoid_t)smx_ctx_raw_resume, processes);
#endif
- xbt_dynar_reset(processes);
}
static smx_context_t smx_ctx_raw_self_parallel(void)
{
- return smx_current_context;
+ return SIMIX_context_get_current();
}
static int smx_ctx_raw_get_thread_id(){