X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/227f84442a16d8702c5594777d31caa509d26a85..be4186e3689b74b38253d5425cbd6d08b2854a2b:/src/smpi/internals/smpi_global.cpp?ds=sidebyside diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index 5b0bab3ccf..091dcb2652 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -623,6 +623,13 @@ void SMPI_init(){ simgrid::s4u::Actor::onCreation.connect([](simgrid::s4u::ActorPtr 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();