X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a57c2c75109cf70593fbf026215062b4697fe718..faa8aeec1cac19b146adffeabe3fb4db846311b3:/src/simix/smx_context_raw.c diff --git a/src/simix/smx_context_raw.c b/src/simix/smx_context_raw.c index 9a2f7bb89a..afb3cc8e0f 100644 --- a/src/simix/smx_context_raw.c +++ b/src/simix/smx_context_raw.c @@ -170,15 +170,16 @@ static int smx_ctx_raw_factory_finalize(smx_context_factory_t *factory) return smx_ctx_base_factory_finalize(factory); } + static smx_context_t -smx_ctx_raw_create_context_sized(size_t size, xbt_main_func_t code, - int argc, char **argv, +smx_ctx_raw_create_context(xbt_main_func_t code, int argc, char **argv, void_pfn_smxprocess_t cleanup_func, void *data) { smx_ctx_raw_t context = - (smx_ctx_raw_t) smx_ctx_base_factory_create_context_sized(size, + (smx_ctx_raw_t) smx_ctx_base_factory_create_context_sized( + sizeof(s_smx_ctx_raw_t), code, argc, argv, @@ -204,19 +205,6 @@ smx_ctx_raw_create_context_sized(size_t size, xbt_main_func_t code, } return (smx_context_t) context; - -} - -static smx_context_t -smx_ctx_raw_create_context(xbt_main_func_t code, int argc, char **argv, - void_pfn_smxprocess_t cleanup_func, - void *data) -{ - - return smx_ctx_raw_create_context_sized(sizeof(s_smx_ctx_raw_t), - code, argc, argv, cleanup_func, - data); - } static void smx_ctx_raw_free(smx_context_t context) @@ -229,6 +217,7 @@ static void smx_ctx_raw_free(smx_context_t context) context)->valgrind_stack_id); #endif /* HAVE_VALGRIND_VALGRIND_H */ + free(((smx_ctx_raw_t)context)->malloced_stack); } smx_ctx_base_free(context); } @@ -287,7 +276,7 @@ static void smx_ctx_raw_resume_parallel(smx_process_t process) static void smx_ctx_raw_runall_parallel(xbt_dynar_t processes) { xbt_parmap_apply(parmap, (void_f_pvoid_t)smx_ctx_raw_resume_parallel, processes); - xbt_dynar_reset(processes); + xbt_dynar_reset(processes); } static smx_context_t smx_ctx_raw_self_parallel(void) @@ -309,7 +298,7 @@ void SIMIX_ctx_raw_factory_init(smx_context_factory_t *factory) (*factory)->suspend = smx_ctx_raw_suspend; (*factory)->name = "smx_raw_context_factory"; - if(_surf_parallel_contexts){ + if (smx_parallel_contexts) { #ifdef CONTEXT_THREADS /* To use parallel ucontexts a thread pool is needed */ parmap = xbt_parmap_new(2); (*factory)->runall = smx_ctx_raw_runall_parallel;