# include <valgrind/valgrind.h>
#endif /* HAVE_VALGRIND_VALGRIND_H */
-#ifdef _XBT_WIN32
-#include "win32_ucontext.h"
-#else
-#include "ucontext.h"
-#endif
-
typedef char * raw_stack_t;
typedef void (*rawctx_entry_point_t)(void *);
" retq\n"
);
#else
+
+/* If you implement raw contextes for other processors, don't forget to
+ update the definition of HAVE_RAWCTX in buildtools/Cmake/AddTests.cmake */
+
raw_stack_t raw_makecontext(char* malloced_stack, int stack_size,
rawctx_entry_point_t entry_point, void* arg) {
THROW_UNIMPLEMENTED;
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);
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(){