Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
attempt to fix en issue when timing functions are called before initialization
[simgrid.git] / src / smpi / mpi / smpi_file.cpp
index bccba0d..911ee58 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007-2020. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -71,6 +71,7 @@ namespace smpi{
     simgrid::smpi::colls::bcast(&shared_mutex_, 1, MPI_AINT, 0, comm);
     if(comm_->rank() != 0)
       intrusive_ptr_add_ref(&*shared_mutex_);
+    this->add_f();
   }
 
   File::~File(){
@@ -80,6 +81,7 @@ namespace smpi{
     }
     delete win_;
     delete file_;
+    F2C::free_f(this->c2f());
     if (info_ != MPI_INFO_NULL)
       simgrid::smpi::Info::unref(info_);
     if (errhandler_ != MPI_ERRHANDLER_NULL)
@@ -282,6 +284,11 @@ namespace smpi{
     return file_->size();
   }
 
+  void File::set_size(int size)
+  {
+    file_->write(size, true);
+  }
+
   int File::flags() const
   {
     return flags_;