-static int
-smx_ctx_sysv_factory_create_context(smx_process_t *smx_process, xbt_main_func_t code)
-{
- VERB1("Create context %s", (*smx_process)->name);
- smx_ctx_sysv_t context = xbt_new0(s_smx_ctx_sysv_t, 1);
-
- context->code = code;
-
- xbt_assert2(getcontext(&(context->uc)) == 0,
- "Error in context saving: %d (%s)", errno, strerror(errno));
- context->uc.uc_link = NULL;
- context->uc.uc_stack.ss_sp =
- pth_skaddr_makecontext(context->stack, STACK_SIZE);
- context->uc.uc_stack.ss_size =
- pth_sksize_makecontext(context->stack, STACK_SIZE);
-#ifdef HAVE_VALGRIND_VALGRIND_H
- context->valgrind_stack_id =
- VALGRIND_STACK_REGISTER(context->uc.uc_stack.ss_sp,
- ((char *) context->uc.uc_stack.ss_sp) +
- context->uc.uc_stack.ss_size);
-#endif /* HAVE_VALGRIND_VALGRIND_H */
-
- context->exception = xbt_new(ex_ctx_t, 1);
- XBT_CTX_INITIALIZE(context->exception);
- (*smx_process)->context = (smx_context_t)context;
- (*smx_process)->iwannadie = 0;
-
- /* FIXME: Check what should return */
- return 1;
-}
-
-static void smx_ctx_sysv_free(smx_process_t process)
-{
- smx_ctx_sysv_t context = (smx_ctx_sysv_t)process->context;
- if (context){
-
- if (context->exception)
- free(context->exception);