From: Christophe ThiƩry Date: Thu, 12 Jan 2012 09:14:08 +0000 (+0100) Subject: MSG: register a SIMIX copy data callback only if necessary X-Git-Tag: exp_20120216~144 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/adcbfeff6007a7b6f92ea29b46ed82fdc1296a51 MSG: register a SIMIX copy data callback only if necessary --- diff --git a/src/msg/msg_global.c b/src/msg/msg_global.c index 404d8bf446..b10d9c421b 100644 --- a/src/msg/msg_global.c +++ b/src/msg/msg_global.c @@ -75,7 +75,6 @@ void MSG_global_init(int *argc, char **argv) SIMIX_function_register_process_create(MSG_process_create_from_SIMIX); SIMIX_function_register_process_cleanup(MSG_process_cleanup_from_SIMIX); SIMIX_function_register_process_kill(MSG_process_kill_from_SIMIX); - SIMIX_comm_set_copy_data_callback(MSG_comm_copy_data_from_SIMIX); } #ifdef HAVE_TRACING TRACE_start(); diff --git a/src/msg/msg_task.c b/src/msg/msg_task.c index f453edcbde..609dc7b7e9 100644 --- a/src/msg/msg_task.c +++ b/src/msg/msg_task.c @@ -110,7 +110,15 @@ void MSG_task_set_data(m_task_t task, void *data) */ void MSG_task_set_copy_callback(void (*callback) (m_task_t task, m_process_t sender, m_process_t receiver)) { + msg_global->task_copy_callback = callback; + + if (callback) { + SIMIX_comm_set_copy_data_callback(MSG_comm_copy_data_from_SIMIX); + } + else { + SIMIX_comm_set_copy_data_callback(SIMIX_comm_copy_pointer_callback); + } } /** \ingroup m_task_management