From 69248c2648d1aced278681b4925c2082752ca4cb Mon Sep 17 00:00:00 2001 From: pini Date: Thu, 28 Jan 2010 10:13:00 +0000 Subject: [PATCH] Better fix for r7026. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7029 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/smpi/private.h | 1 + src/smpi/smpi_global.c | 17 ++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/smpi/private.h b/src/smpi/private.h index 3ee7f8bcf7..7f9170c948 100644 --- a/src/smpi/private.h +++ b/src/smpi/private.h @@ -151,6 +151,7 @@ void smpi_bench_begin(void); void smpi_bench_end(void); void smpi_bench_skip(void); +void smpi_init(void); void smpi_global_init(void); void smpi_global_destroy(void); int smpi_process_index(void); diff --git a/src/smpi/smpi_global.c b/src/smpi/smpi_global.c index e242d92844..4f60f00bf9 100644 --- a/src/smpi/smpi_global.c +++ b/src/smpi/smpi_global.c @@ -136,6 +136,11 @@ void smpi_mpi_min_func(void *a, void *b, int *length, void smpi_mpi_max_func(void *a, void *b, int *length, MPI_Datatype * datatype); +void smpi_init() +{ + smpi_global = xbt_new(s_smpi_global_t, 1); +} + void smpi_global_init() { int i; @@ -151,8 +156,6 @@ void smpi_global_init() XBT_LOG_CONNECT(smpi_util, smpi); #endif - smpi_global = xbt_new(s_smpi_global_t, 1); - // config vars smpi_global->reference_speed = xbt_cfg_get_double(_surf_cfg_set, "reference_speed"); @@ -313,11 +316,8 @@ smx_cond_t smpi_process_cond() static void smpi_cfg_cb_host_speed(const char *name, int pos) { - if(smpi_global) - { - smpi_global->reference_speed = - xbt_cfg_get_double_at(_surf_cfg_set, name, pos); - } + smpi_global->reference_speed = + xbt_cfg_get_double_at(_surf_cfg_set, name, pos); } int smpi_run_simulation(int *argc, char **argv) @@ -335,6 +335,9 @@ int smpi_run_simulation(int *argc, char **argv) "Boolean indicating whether we should display the timing after simulation.", xbt_cfgelm_int, &default_display_timing, 1, 1, NULL, NULL); + // Allocate minimal things before parsing command line arguments + smpi_init(); + SIMIX_global_init(argc, argv); -- 2.20.1