From: navarrop Date: Wed, 2 Mar 2011 09:55:26 +0000 (+0000) Subject: Protect the use of parmap. X-Git-Tag: v3.6_beta2~211 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/fe1766925f39d83d099962656ebf0b4846edaf14?hp=459137091dd22537f85e76a7ec119e07e3af15a8 Protect the use of parmap. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9749 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/simix/smx_context_raw.c b/src/simix/smx_context_raw.c index c4848f899c..af7c4ce0d3 100644 --- a/src/simix/smx_context_raw.c +++ b/src/simix/smx_context_raw.c @@ -169,8 +169,10 @@ static void smx_ctx_raw_wrapper(smx_ctx_raw_t context); static int smx_ctx_raw_factory_finalize(smx_context_factory_t *factory) { XBT_VERB("Total User Time: %lf", totaltime); +#ifdef CONTEXT_THREADS if(parmap) xbt_parmap_destroy(parmap); +#endif return smx_ctx_base_factory_finalize(factory); } @@ -273,7 +275,9 @@ static void smx_ctx_raw_runall_serial(xbt_dynar_t processes) static void smx_ctx_raw_runall_parallel(xbt_dynar_t processes) { +#ifdef CONTEXT_THREADS xbt_parmap_apply(parmap, (void_f_pvoid_t)smx_ctx_raw_resume, processes); +#endif xbt_dynar_reset(processes); } @@ -313,9 +317,9 @@ void SIMIX_ctx_raw_factory_init(smx_context_factory_t *factory) (*factory)->stop = smx_ctx_raw_stop; (*factory)->suspend = smx_ctx_raw_suspend; (*factory)->name = "smx_raw_context_factory"; - +#ifdef CONTEXT_THREADS parmap = xbt_parmap_new(2); - +#endif if (SIMIX_context_is_parallel()) { if (SIMIX_context_get_parallel_threshold() > 1) { /* choose dynamically */ diff --git a/src/simix/smx_context_sysv.c b/src/simix/smx_context_sysv.c index 6b1f1f200f..18b447b57a 100644 --- a/src/simix/smx_context_sysv.c +++ b/src/simix/smx_context_sysv.c @@ -80,8 +80,10 @@ void SIMIX_ctx_sysv_factory_init(smx_context_factory_t *factory) int smx_ctx_sysv_factory_finalize(smx_context_factory_t *factory) { +#ifdef CONTEXT_THREADS if(parmap) xbt_parmap_destroy(parmap); +#endif return smx_ctx_base_factory_finalize(factory); } @@ -230,7 +232,9 @@ void smx_ctx_sysv_resume_parallel(smx_process_t process) void smx_ctx_sysv_runall_parallel(xbt_dynar_t processes) { +#ifdef CONTEXT_THREADS xbt_parmap_apply(parmap, (void_f_pvoid_t)smx_ctx_sysv_resume_parallel, processes); +#endif xbt_dynar_reset(processes); }