X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3c40b1bfc4f4925fa401d3b5d0c74a4b4824b3d5..aad6442f8fd7d7610f49271010cb8a650f4772de:/src/smpi/internals/smpi_global.cpp diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index afabcb8aaf..4a7ef4f2bf 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -84,11 +84,6 @@ static simgrid::config::Flag smpi_init_sleep( void (*smpi_comm_copy_data_callback) (smx_activity_t, void*, size_t) = &smpi_comm_copy_buffer_callback; -void smpi_add_process(ActorPtr actor) -{ - process_data.insert({actor, new simgrid::smpi::Process(actor, nullptr)}); -} - int smpi_process_count() { return process_count; @@ -357,8 +352,7 @@ void smpi_global_destroy() if (process->comm_intra() != MPI_COMM_NULL) { simgrid::smpi::Comm::destroy(process->comm_intra()); } - xbt_os_timer_free(process->timer()); - xbt_mutex_destroy(process->mailboxes_mutex()); + delete process; } process_data.clear(); @@ -626,15 +620,8 @@ int smpi_main(const char* executable, int argc, char *argv[]) // Called either directly from the user code, or from the code called by smpirun void SMPI_init(){ simgrid::s4u::Actor::onCreation.connect([](simgrid::s4u::ActorPtr actor) { - smpi_add_process(actor); + process_data.insert({actor, new simgrid::smpi::Process(actor, nullptr)}); }); - simgrid::s4u::Actor::onDestruction.connect([](simgrid::s4u::ActorPtr actor) { - if (process_data.find(actor) != process_data.end()) { - delete process_data.at(actor); - process_data.erase(actor); - } - }); - smpi_init_options(); smpi_global_init(); smpi_check_options();