Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
need to delay signal after properties are set
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Tue, 10 Sep 2019 09:12:16 +0000 (11:12 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Tue, 10 Sep 2019 09:12:16 +0000 (11:12 +0200)
src/kernel/resource/DiskImpl.hpp
src/surf/disk_s19.cpp
src/surf/sg_platf.cpp

index dde80f5..79abb67 100644 (file)
@@ -59,7 +59,7 @@ public:
 
   /** @brief Public interface */
   s4u::Disk piface_;
-
+  s4u::Disk* get_iface() { return &piface_; }
   /** @brief Check if the Storage is used (if an action currently uses its resources) */
   bool is_used() override;
 
index c873094..4198e10 100644 (file)
@@ -66,7 +66,6 @@ DiskS19::DiskS19(DiskModel* model, const std::string& name, lmm::System* maxminS
     : DiskImpl(model, name, maxminSystem, read_bw, write_bw)
 {
   XBT_DEBUG("Create resource with read_bw '%f' write_bw '%f'", read_bw, write_bw);
-  s4u::Disk::on_creation(this->piface_);
 }
 
 DiskAction* DiskS19::io_start(sg_size_t size, s4u::Io::OpType type)
index 218cfb8..8a080b8 100644 (file)
@@ -337,11 +337,11 @@ void sg_platf_new_cabinet(simgrid::kernel::routing::CabinetCreationArgs* cabinet
 simgrid::kernel::resource::DiskImpl* sg_platf_new_disk(simgrid::kernel::routing::DiskCreationArgs* disk)
 {
   simgrid::kernel::resource::DiskImpl* d = surf_disk_model->createDisk(disk->id, disk->read_bw, disk->write_bw);
-
   if (disk->properties) {
     d->set_properties(*disk->properties);
     delete disk->properties;
   }
+  simgrid::s4u::Disk::on_creation(*d->get_iface());
   return d;
 }