From f6b6f74d20fcd7d4aae2be19546289f089f23ff3 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Tue, 7 Jan 2020 12:11:09 +0100 Subject: [PATCH] [sonar] don't mix public/private data members --- src/kernel/activity/IoImpl.cpp | 7 +++---- src/kernel/activity/IoImpl.hpp | 8 +++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/kernel/activity/IoImpl.cpp b/src/kernel/activity/IoImpl.cpp index cc582901d4..be073a7398 100644 --- a/src/kernel/activity/IoImpl.cpp +++ b/src/kernel/activity/IoImpl.cpp @@ -42,11 +42,10 @@ void simcall_HANDLER_io_wait(smx_simcall_t simcall, simgrid::kernel::activity::I else { /* we need a sleep action (even when there is no timeout) to be notified of host failures */ if (synchro->get_disk() != nullptr) - synchro->timeout_detector_ = synchro->get_disk()->get_host()->pimpl_cpu->sleep(timeout); + synchro->set_timeout_detector(synchro->get_disk()->get_host()->pimpl_cpu->sleep(timeout)); else - synchro->timeout_detector_ = - simgrid::s4u::Host::by_name(synchro->get_storage()->get_host())->pimpl_cpu->sleep(timeout); - synchro->timeout_detector_->set_activity(synchro); + synchro->set_timeout_detector( + simgrid::s4u::Host::by_name(synchro->get_storage()->get_host())->pimpl_cpu->sleep(timeout)); } } diff --git a/src/kernel/activity/IoImpl.hpp b/src/kernel/activity/IoImpl.hpp index 39305e1f3e..897cfb5177 100644 --- a/src/kernel/activity/IoImpl.hpp +++ b/src/kernel/activity/IoImpl.hpp @@ -20,6 +20,7 @@ class XBT_PUBLIC IoImpl : public ActivityImpl_T { sg_size_t size_ = 0; s4u::Io::OpType type_ = s4u::Io::OpType::READ; sg_size_t performed_ioops_ = 0; + resource::Action* timeout_detector_ = nullptr; public: IoImpl& set_size(sg_size_t size); @@ -27,6 +28,12 @@ public: IoImpl& set_storage(resource::StorageImpl* storage); IoImpl& set_disk(resource::DiskImpl* disk); + void set_timeout_detector(resource::Action* action) + { + timeout_detector_ = action; + timeout_detector_->set_activity(this); + } + sg_size_t get_performed_ioops() { return performed_ioops_; } resource::DiskImpl* get_disk() { return disk_; } resource::StorageImpl* get_storage() { return storage_; } @@ -35,7 +42,6 @@ public: void post() override; void finish() override; - resource::Action* timeout_detector_ = nullptr; static xbt::signal on_start; static xbt::signal on_completion; }; -- 2.20.1