A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[DOC] Fixed even more errors.
[simgrid.git]
/
src
/
smpi
/
smpi_deployment.c
diff --git
a/src/smpi/smpi_deployment.c
b/src/smpi/smpi_deployment.c
index
55daf3b
..
30df611
100644
(file)
--- a/
src/smpi/smpi_deployment.c
+++ b/
src/smpi/smpi_deployment.c
@@
-49,7
+49,7
@@
void SMPI_app_instance_register(const char *name, xbt_main_func_t code, int num_
process_count+=num_processes;
if(!smpi_instances){
process_count+=num_processes;
if(!smpi_instances){
-
smpi_instances=xbt_dict_new_homogeneous(xbt_free
);
+
smpi_instances = xbt_dict_new_homogeneous(xbt_free_f
);
}
xbt_dict_set(smpi_instances, name, (void*)instance, NULL);
}
xbt_dict_set(smpi_instances, name, (void*)instance, NULL);
@@
-88,7
+88,8
@@
void smpi_deployment_cleanup_instances(){
s_smpi_mpi_instance_t* instance = NULL;
char *name = NULL;
xbt_dict_foreach(smpi_instances, cursor, name, instance) {
s_smpi_mpi_instance_t* instance = NULL;
char *name = NULL;
xbt_dict_foreach(smpi_instances, cursor, name, instance) {
- while (smpi_group_unuse(smpi_comm_group(instance->comm_world)) > 0);
+ if(instance->comm_world!=MPI_COMM_NULL)
+ while (smpi_group_unuse(smpi_comm_group(instance->comm_world)) > 0);
xbt_free(instance->comm_world);
xbt_barrier_destroy(instance->finalization_barrier);
}
xbt_free(instance->comm_world);
xbt_barrier_destroy(instance->finalization_barrier);
}