X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/84402e8e2ee2a2d0bef25fdceb0a263ed8b471f6..4326c258372488ae763695bc79b0529ab96cc20d:/src/smpi/internals/smpi_global.cpp diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index 9a4bd791e1..c3e32fa864 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -128,7 +128,7 @@ void smpi_comm_set_copy_data_callback(void (*callback) (smx_activity_t, void*, s static void (*saved_callback)(smx_activity_t, void*, size_t); saved_callback = callback; smpi_comm_copy_data_callback = [](simgrid::kernel::activity::CommImpl* comm, void* buff, size_t size) { - saved_callback(smx_activity_t(comm), buff, size); + saved_callback(comm, buff, size); }; } @@ -446,7 +446,7 @@ static void smpi_init_privatization_dlopen(const std::string& executable) } } - simix_global->default_function = [executable, fdin_size](std::vector args) { + simgrid::s4u::Engine::get_instance()->register_default([executable, fdin_size](std::vector args) { return std::function([executable, fdin_size, args] { static std::size_t rank = 0; // Copy the dynamic library: @@ -501,7 +501,7 @@ static void smpi_init_privatization_dlopen(const std::string& executable) xbt_assert(entry_point, "Could not resolve entry point"); smpi_run_entry_point(entry_point, executable, args); }); - }; + }); } static void smpi_init_privatization_no_dlopen(const std::string& executable) @@ -520,10 +520,10 @@ static void smpi_init_privatization_no_dlopen(const std::string& executable) smpi_backup_global_memory_segment(); // Execute the same entry point for each simulated process: - simix_global->default_function = [entry_point, executable](std::vector args) { + simgrid::s4u::Engine::get_instance()->register_default([entry_point, executable](std::vector args) { return std::function( [entry_point, executable, args] { smpi_run_entry_point(entry_point, executable, args); }); - }; + }); } int smpi_main(const char* executable, int argc, char* argv[]) @@ -536,7 +536,7 @@ int smpi_main(const char* executable, int argc, char* argv[]) SMPI_switch_data_segment = &smpi_switch_data_segment; smpi_init_options(); - TRACE_global_init(); + simgrid::instr::init(); SIMIX_global_init(&argc, argv); auto engine = simgrid::s4u::Engine::get_instance(); @@ -640,3 +640,7 @@ void smpi_mpi_init() { if(smpi_init_sleep > 0) simgrid::s4u::this_actor::sleep_for(smpi_init_sleep); } + +void SMPI_thread_create() { + TRACE_smpi_init(simgrid::s4u::this_actor::get_pid(), __func__); +}