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
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid
[simgrid.git]
/
src
/
smpi
/
smpi_f77.c
diff --git
a/src/smpi/smpi_f77.c
b/src/smpi/smpi_f77.c
index
2f84829
..
c467cc8
100644
(file)
--- a/
src/smpi/smpi_f77.c
+++ b/
src/smpi/smpi_f77.c
@@
-28,7
+28,7
@@
static int new_comm(MPI_Comm comm) {
static MPI_Comm get_comm(int comm) {
if(comm == -2) {
return MPI_COMM_SELF;
static MPI_Comm get_comm(int comm) {
if(comm == -2) {
return MPI_COMM_SELF;
- } else if(comm
>= 0
) {
+ } else if(comm
_lookup && comm >= 0 && comm < (int)xbt_dynar_length(comm_lookup)
) {
return *(MPI_Comm*)xbt_dynar_get_ptr(comm_lookup, comm);
}
return MPI_COMM_NULL;
return *(MPI_Comm*)xbt_dynar_get_ptr(comm_lookup, comm);
}
return MPI_COMM_NULL;
@@
-79,7
+79,7
@@
void mpi_init__(int* ierr) {
comm_lookup = xbt_dynar_new(sizeof(MPI_Comm), NULL);
new_comm(MPI_COMM_WORLD);
comm_lookup = xbt_dynar_new(sizeof(MPI_Comm), NULL);
new_comm(MPI_COMM_WORLD);
- request_lookup = xbt_dict_new
(
);
+ request_lookup = xbt_dict_new
_homogeneous(NULL
);
datatype_lookup = xbt_dynar_new(sizeof(MPI_Datatype), NULL);
new_datatype(MPI_BYTE);
datatype_lookup = xbt_dynar_new(sizeof(MPI_Datatype), NULL);
new_datatype(MPI_BYTE);
@@
-123,9
+123,13
@@
void mpi_init__(int* ierr) {
void mpi_finalize__(int* ierr) {
*ierr = MPI_Finalize();
xbt_dynar_free(&op_lookup);
void mpi_finalize__(int* ierr) {
*ierr = MPI_Finalize();
xbt_dynar_free(&op_lookup);
+ op_lookup = NULL;
xbt_dynar_free(&datatype_lookup);
xbt_dynar_free(&datatype_lookup);
+ datatype_lookup = NULL;
xbt_dict_free(&request_lookup);
xbt_dict_free(&request_lookup);
+ request_lookup = NULL;
xbt_dynar_free(&comm_lookup);
xbt_dynar_free(&comm_lookup);
+ comm_lookup = NULL;
}
void mpi_abort__(int* comm, int* errorcode, int* ierr) {
}
void mpi_abort__(int* comm, int* errorcode, int* ierr) {