From 9e83082df30f9b99bc7699129518cb834becd9ba Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Sat, 2 Nov 2019 00:03:31 +0100 Subject: [PATCH] Restore handling of msg_global->process_data_cleanup. --- src/msg/msg_global.cpp | 6 ++++++ 1 file changed, 6 insertions(+) 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()){ -- 2.20.1