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
add MPI_Bsend, MPI_Ibsend, MPI_Bsend_init, MPI_Buffer_attach, MPI_Buffer_detach.
[simgrid.git]
/
src
/
smpi
/
mpi
/
smpi_file.cpp
diff --git
a/src/smpi/mpi/smpi_file.cpp
b/src/smpi/mpi/smpi_file.cpp
index
25fd3ec
..
b47984e
100644
(file)
--- a/
src/smpi/mpi/smpi_file.cpp
+++ b/
src/smpi/mpi/smpi_file.cpp
@@
-19,6
+19,8
@@
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_io, smpi, "Logging specific to SMPI (RMA operations)");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_io, smpi, "Logging specific to SMPI (RMA operations)");
+MPI_Errhandler SMPI_default_File_Errhandler = MPI_ERRORS_RETURN;
+
namespace simgrid{
namespace smpi{
namespace simgrid{
namespace smpi{
@@
-28,6
+30,7
@@
namespace smpi{
if (comm_->rank() == 0) {
int size= comm_->size() + FP_SIZE;
list_ = new char[size];
if (comm_->rank() == 0) {
int size= comm_->size() + FP_SIZE;
list_ = new char[size];
+ errhandler_= SMPI_default_File_Errhandler;
memset(list_, 0, size);
shared_file_pointer_ = new MPI_Offset();
shared_mutex_ = s4u::Mutex::create();
memset(list_, 0, size);
shared_file_pointer_ = new MPI_Offset();
shared_mutex_ = s4u::Mutex::create();
@@
-244,5
+247,15
@@
namespace smpi{
MPI_Comm File::comm(){
return comm_;
}
MPI_Comm File::comm(){
return comm_;
}
+
+ MPI_Errhandler File::errhandler(){
+ return errhandler_;
+ }
+
+ void File::set_errhandler(MPI_Errhandler errhandler){
+ errhandler_=errhandler;
+ if(errhandler_!= MPI_ERRHANDLER_NULL)
+ errhandler->ref();
+ }
}
}
}
}