MSG_comm_destroy
Correct a leak in finalize action
modify the basic example to have init and finalize actions for each
process.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9052
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
}
MSG_comm_waitall(comms,communicator_size-1,-1);
for (i = 1; i < communicator_size; i++) {
}
MSG_comm_waitall(comms,communicator_size-1,-1);
for (i = 1; i < communicator_size; i++) {
+ // MSG_comm_destroy(comms[i-1]);
MSG_task_destroy(tasks[i-1]);
MSG_task_destroy(tasks[i-1]);
- MSG_comm_destroy(comms[i-1]);
mailbox);
}
MSG_comm_waitall(comms,communicator_size-1,-1);
mailbox);
}
MSG_comm_waitall(comms,communicator_size-1,-1);
- for (i = 1; i < communicator_size; i++)
- MSG_comm_destroy(comms[i-1]);
+ /* for (i = 1; i < communicator_size; i++) */
+ /* MSG_comm_destroy(comms[i-1]); */
free(comms);
DEBUG2("%s: all messages sent by %s have been received",
free(comms);
DEBUG2("%s: all messages sent by %s have been received",
#ifdef HAVE_TRACING
TRACE_smpi_finalize(get_rank(MSG_process_get_name(MSG_process_self())));
#endif
#ifdef HAVE_TRACING
TRACE_smpi_finalize(get_rank(MSG_process_get_name(MSG_process_self())));
#endif
- process_globals_t counters = (process_globals_t) MSG_process_get_data(MSG_process_self());
- if (counters)
- free(counters);
+ process_globals_t globals = (process_globals_t) MSG_process_get_data(MSG_process_self());
+ if (globals){
+ xbt_dynar_free_container(&(globals->isends));
+ free(globals);
+ }
+p0 init
+p1 init
+p2 init
+
p0 comm_size 3
p0 allReduce 5e8 5e8
p1 allReduce 5e8 5e8
p0 comm_size 3
p0 allReduce 5e8 5e8
p1 allReduce 5e8 5e8
p1 compute 5e8
p2 compute 5e8
p1 compute 5e8
p2 compute 5e8
+p0 finalize
+p1 finalize
+p2 finalize