From: cherierm Date: Thu, 5 Oct 2006 17:05:36 +0000 (+0000) Subject: Consider the case of windows context, update xbt_context_new() and xbt_context_destro... X-Git-Tag: v3.3~2506 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/6fe1606ddde5d8e7c348a2c0d47476e99bba8739 Consider the case of windows context, update xbt_context_new() and xbt_context_destroy() functions. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2853 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/xbt/context.c b/src/xbt/context.c index c62a7a6a71..0e53a7e0c4 100644 --- a/src/xbt/context.c +++ b/src/xbt/context.c @@ -100,6 +100,12 @@ static void xbt_context_destroy(xbt_context_t context) pthread_cond_destroy(&(context->cond)); #endif if(context->exception) free(context->exception); + + #ifdef USE_WIN_CONTEXT + if(context->uc.uc_stack.ss_sp) + free (context->uc.uc_stack.ss_sp); + #endif + free(context); return; } @@ -281,6 +287,9 @@ xbt_context_t xbt_context_new(xbt_context_function_t code, # ifndef USE_WIN_CONTEXT res->uc.uc_stack.ss_sp = pth_skaddr_makecontext(res->stack,STACK_SIZE); res->uc.uc_stack.ss_size = pth_sksize_makecontext(res->stack,STACK_SIZE); +#else + res->uc.uc_stack.ss_sp = xbt_malloc(STACK_SIZE); + res->uc.uc_stack.ss_size = STACK_SIZE ; # endif /* USE_WIN_CONTEXT */ #endif /* USE_PTHREADS or not */ res->argc = argc;