From: Arnaud Giersch Date: Fri, 1 Nov 2019 23:03:31 +0000 (+0100) Subject: Restore handling of msg_global->process_data_cleanup. X-Git-Tag: v3.25~461 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/9e83082df30f9b99bc7699129518cb834becd9ba Restore handling of msg_global->process_data_cleanup. --- diff --git a/src/msg/msg_global.cpp b/src/msg/msg_global.cpp index 20b55dfa29..d8e0f77e4d 100644 --- a/src/msg/msg_global.cpp +++ b/src/msg/msg_global.cpp @@ -42,6 +42,12 @@ void MSG_init_nocheck(int *argc, char **argv) { msg_global->sent_msg = 0; msg_global->task_copy_callback = nullptr; msg_global->process_data_cleanup = nullptr; + simgrid::s4u::Actor::on_termination.connect([](simgrid::s4u::Actor const& actor) { + // free the data if a function was provided + void* userdata = sg_actor_data(&actor); + if (userdata && msg_global->process_data_cleanup) + msg_global->process_data_cleanup(userdata); + }); } if(MC_is_active()){