Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add option smpi/errors-are-fatal to allow users to bypass MPI errors returned by...
[simgrid.git] / src / smpi / mpi / smpi_file.cpp
index 48647a5..82c5e2f 100644 (file)
@@ -21,7 +21,7 @@
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_io, smpi, "Logging specific to SMPI (RMA operations)");
 
-MPI_Errhandler SMPI_default_File_Errhandler = MPI_ERRORS_RETURN;
+MPI_Errhandler SMPI_default_File_Errhandler =  _smpi_cfg_default_errhandler_is_error ? MPI_ERRORS_ARE_FATAL : MPI_ERRORS_RETURN;;
 
 namespace simgrid{
 namespace smpi{
@@ -81,7 +81,7 @@ namespace smpi{
     }
     delete win_;
     delete file_;
-    F2C::free_f(this->c2f());
+    F2C::free_f(this->f2c_id());
     if (info_ != MPI_INFO_NULL)
       simgrid::smpi::Info::unref(info_);
     if (errhandler_ != MPI_ERRHANDLER_NULL)
@@ -121,15 +121,15 @@ namespace smpi{
 
   int File::seek(MPI_Offset offset, int whence){
     switch(whence){
-      case(MPI_SEEK_SET):
+      case MPI_SEEK_SET:
         XBT_VERB("Seeking in MPI_File %s, setting offset %lld", file_->get_path(), offset);
         file_->seek(offset,SEEK_SET);
         break;
-      case(MPI_SEEK_CUR):
+      case MPI_SEEK_CUR:
         XBT_VERB("Seeking in MPI_File %s, current offset + %lld", file_->get_path(), offset);
         file_->seek(offset,SEEK_CUR);
         break;
-      case(MPI_SEEK_END):
+      case MPI_SEEK_END:
         XBT_VERB("Seeking in MPI_File %s, end offset + %lld", file_->get_path(), offset);
         file_->seek(offset,SEEK_END);
         break;
@@ -301,9 +301,6 @@ namespace smpi{
 
   MPI_Info File::info()
   {
-    if (info_ == MPI_INFO_NULL)
-      info_ = new Info();
-    info_->ref();
     return info_;
   }