From: Martin Quinson Date: Sat, 26 Jan 2019 17:43:11 +0000 (+0100) Subject: The pimpl of s4u objects is const X-Git-Tag: v3_22~473 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/02643189e2cba3bd1101490285ac5a6f18487e37 The pimpl of s4u objects is const But the one of activities and the cpu_pimpl of host (the codebase is not ready yet). --- diff --git a/include/simgrid/s4u/Actor.hpp b/include/simgrid/s4u/Actor.hpp index f0c41432db..e9cc96bc92 100644 --- a/include/simgrid/s4u/Actor.hpp +++ b/include/simgrid/s4u/Actor.hpp @@ -126,7 +126,7 @@ class XBT_PUBLIC Actor : public simgrid::xbt::Extendable { friend simgrid::kernel::actor::ActorImpl; friend simgrid::kernel::activity::MailboxImpl; - kernel::actor::ActorImpl* pimpl_ = nullptr; + kernel::actor::ActorImpl* const pimpl_ = nullptr; explicit Actor(smx_actor_t pimpl) : pimpl_(pimpl) {} diff --git a/include/simgrid/s4u/ConditionVariable.hpp b/include/simgrid/s4u/ConditionVariable.hpp index 7d8ebe0817..773e5e0635 100644 --- a/include/simgrid/s4u/ConditionVariable.hpp +++ b/include/simgrid/s4u/ConditionVariable.hpp @@ -24,9 +24,10 @@ namespace s4u { class XBT_PUBLIC ConditionVariable { private: friend simgrid::kernel::activity::ConditionVariableImpl; - smx_cond_t cond_; + simgrid::kernel::activity::ConditionVariableImpl* const cond_; + + explicit ConditionVariable(simgrid::kernel::activity::ConditionVariableImpl* cond) : cond_(cond) {} - explicit ConditionVariable(smx_cond_t cond) : cond_(cond) {} public: ConditionVariable(ConditionVariable const&) = delete; ConditionVariable& operator=(ConditionVariable const&) = delete; @@ -38,7 +39,8 @@ public: #ifndef DOXYGEN /** @deprecated See Comm::get_mailbox() */ - XBT_ATTRIB_DEPRECATED_v323("Please use Comm::get_mailbox()") ConditionVariablePtr createConditionVariable() + XBT_ATTRIB_DEPRECATED_v323("Please use ConditionVariableImpl::create()") ConditionVariablePtr + createConditionVariable() { return create(); } diff --git a/include/simgrid/s4u/Engine.hpp b/include/simgrid/s4u/Engine.hpp index 54874d3a8c..67379498bd 100644 --- a/include/simgrid/s4u/Engine.hpp +++ b/include/simgrid/s4u/Engine.hpp @@ -155,7 +155,7 @@ public: void set_config(std::string str); private: - simgrid::kernel::EngineImpl* pimpl; + simgrid::kernel::EngineImpl* const pimpl; static s4u::Engine* instance_; //////////////// Deprecated functions diff --git a/include/simgrid/s4u/Mailbox.hpp b/include/simgrid/s4u/Mailbox.hpp index a768d84d9e..e226df2f79 100644 --- a/include/simgrid/s4u/Mailbox.hpp +++ b/include/simgrid/s4u/Mailbox.hpp @@ -19,7 +19,7 @@ class XBT_PUBLIC Mailbox { friend simgrid::s4u::Comm; friend simgrid::kernel::activity::MailboxImpl; - simgrid::kernel::activity::MailboxImpl* pimpl_; + simgrid::kernel::activity::MailboxImpl* const pimpl_; explicit Mailbox(kernel::activity::MailboxImpl * mbox) : pimpl_(mbox) {} diff --git a/include/simgrid/s4u/Mutex.hpp b/include/simgrid/s4u/Mutex.hpp index 4a483ced47..0689f52cd7 100644 --- a/include/simgrid/s4u/Mutex.hpp +++ b/include/simgrid/s4u/Mutex.hpp @@ -30,7 +30,7 @@ class XBT_PUBLIC Mutex { friend simgrid::s4u::ConditionVariable; friend simgrid::kernel::activity::MutexImpl; - simgrid::kernel::activity::MutexImpl* pimpl_; + simgrid::kernel::activity::MutexImpl* const pimpl_; explicit Mutex(simgrid::kernel::activity::MutexImpl* mutex) : pimpl_(mutex) {} /* refcounting */ diff --git a/include/simgrid/s4u/NetZone.hpp b/include/simgrid/s4u/NetZone.hpp index d96c8a514a..41971ae176 100644 --- a/include/simgrid/s4u/NetZone.hpp +++ b/include/simgrid/s4u/NetZone.hpp @@ -44,7 +44,7 @@ public: kernel::routing::NetZoneImpl* get_impl() { return pimpl_; } private: - kernel::routing::NetZoneImpl* pimpl_; + kernel::routing::NetZoneImpl* const pimpl_; std::unordered_map properties_; public: diff --git a/include/simgrid/s4u/VirtualMachine.hpp b/include/simgrid/s4u/VirtualMachine.hpp index 92572fc4bd..4c28ac5119 100644 --- a/include/simgrid/s4u/VirtualMachine.hpp +++ b/include/simgrid/s4u/VirtualMachine.hpp @@ -20,7 +20,7 @@ namespace s4u { * */ class XBT_PUBLIC VirtualMachine : public s4u::Host { - simgrid::vm::VirtualMachineImpl* pimpl_vm_ = nullptr; + simgrid::vm::VirtualMachineImpl* const pimpl_vm_ = nullptr; virtual ~VirtualMachine(); public: diff --git a/src/kernel/context/Context.cpp b/src/kernel/context/Context.cpp index 855d11afd9..c2ea68ac9f 100644 --- a/src/kernel/context/Context.cpp +++ b/src/kernel/context/Context.cpp @@ -95,7 +95,7 @@ void Context::stop() actor_->finished_ = true; SIMIX_process_on_exit_runall(actor_); - /* cancel non-blocking communications */ + /* cancel non-blocking activities */ while (not actor_->comms.empty()) { smx_activity_t synchro = actor_->comms.front(); actor_->comms.pop_front(); diff --git a/src/s4u/s4u_Engine.cpp b/src/s4u/s4u_Engine.cpp index 06aba951d2..ccdce477ce 100644 --- a/src/s4u/s4u_Engine.cpp +++ b/src/s4u/s4u_Engine.cpp @@ -34,14 +34,13 @@ xbt::signal on_deadlock; Engine* Engine::instance_ = nullptr; /* That singleton is awful, but I don't see no other solution right now. */ -Engine::Engine(int* argc, char** argv) +Engine::Engine(int* argc, char** argv) : pimpl(new kernel::EngineImpl()) { xbt_assert(s4u::Engine::instance_ == nullptr, "It is currently forbidden to create more than one instance of s4u::Engine"); TRACE_global_init(); SIMIX_global_init(argc, argv); - pimpl = new kernel::EngineImpl(); s4u::Engine::instance_ = this; }