From: Martin Quinson Date: Tue, 26 Dec 2017 14:22:24 +0000 (+0100) Subject: move MutexImpl to the right namespace X-Git-Tag: v3.19~398 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/705d7f1d9bb048c715a17cd5e726dbdbbd6b6d71 move MutexImpl to the right namespace --- diff --git a/include/simgrid/forward.h b/include/simgrid/forward.h index 80a441e5ce..3fd32c572f 100644 --- a/include/simgrid/forward.h +++ b/include/simgrid/forward.h @@ -30,6 +30,8 @@ namespace activity { using ExecImplPtr = boost::intrusive_ptr; class IoImpl; using IoImplPtr = boost::intrusive_ptr; + class MutexImpl; + using MutexImplPtr = boost::intrusive_ptr; class RawImpl; using RawImplPtr = boost::intrusive_ptr; class SleepImpl; @@ -54,7 +56,6 @@ namespace simix { using ActorImplPtr = boost::intrusive_ptr; class Host; - class MutexImpl; } namespace surf { class Resource; @@ -84,7 +85,7 @@ typedef simgrid::trace_mgr::trace tmgr_Trace; typedef simgrid::kernel::context::Context* smx_context_t; typedef simgrid::simix::ActorImpl* smx_actor_t; -typedef simgrid::simix::MutexImpl* smx_mutex_t; +typedef simgrid::kernel::activity::MutexImpl* smx_mutex_t; typedef simgrid::kernel::activity::MailboxImpl* smx_mailbox_t; typedef simgrid::surf::StorageImpl* surf_storage_t; diff --git a/include/simgrid/s4u/Mutex.hpp b/include/simgrid/s4u/Mutex.hpp index 9e8e317e72..81263d9abc 100644 --- a/include/simgrid/s4u/Mutex.hpp +++ b/include/simgrid/s4u/Mutex.hpp @@ -35,9 +35,9 @@ class ConditionVariable; */ XBT_PUBLIC_CLASS Mutex { friend ConditionVariable; - friend simgrid::simix::MutexImpl; - simgrid::simix::MutexImpl* mutex_; - explicit Mutex(simgrid::simix::MutexImpl * mutex) : mutex_(mutex) {} + friend simgrid::kernel::activity::MutexImpl; + simgrid::kernel::activity::MutexImpl* mutex_; + explicit Mutex(simgrid::kernel::activity::MutexImpl * mutex) : mutex_(mutex) {} /* refcounting of the intrusive_ptr is delegated to the implementation object */ friend void intrusive_ptr_add_ref(Mutex* mutex) diff --git a/src/kernel/activity/MutexImpl.cpp b/src/kernel/activity/MutexImpl.cpp index 396c537a9e..6b94db74bc 100644 --- a/src/kernel/activity/MutexImpl.cpp +++ b/src/kernel/activity/MutexImpl.cpp @@ -3,20 +3,16 @@ /* 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. */ -#include "smx_private.hpp" -#include "src/surf/cpu_interface.hpp" -#include "src/surf/surf_interface.hpp" -#include -#include -#include - +#include "src/kernel/activity/MutexImpl.hpp" #include "src/kernel/activity/SynchroRaw.hpp" -#include "src/simix/MutexImpl.hpp" + +#include "src/simix/smx_private.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_mutex, simix_synchro, "Mutex kernel-space implementation"); namespace simgrid { -namespace simix { +namespace kernel { +namespace activity { MutexImpl::MutexImpl() : mutex_(this) { @@ -104,6 +100,7 @@ void MutexImpl::unlock(smx_actor_t issuer) } } } +} /** Increase the refcount for this mutex */ smx_mutex_t SIMIX_mutex_ref(smx_mutex_t mutex) diff --git a/src/kernel/activity/MutexImpl.hpp b/src/kernel/activity/MutexImpl.hpp index 8937ee2149..1274e793ef 100644 --- a/src/kernel/activity/MutexImpl.hpp +++ b/src/kernel/activity/MutexImpl.hpp @@ -11,7 +11,8 @@ #include namespace simgrid { -namespace simix { +namespace kernel { +namespace activity { class XBT_PUBLIC() MutexImpl { public: @@ -49,4 +50,5 @@ private: }; } } +} #endif /* SIMIX_MUTEXIMPL_HPP */ diff --git a/src/mc/mc_base.cpp b/src/mc/mc_base.cpp index 45500cdbb3..338ed349d8 100644 --- a/src/mc/mc_base.cpp +++ b/src/mc/mc_base.cpp @@ -10,7 +10,7 @@ #include "src/mc/mc_replay.hpp" #include "src/simix/smx_private.hpp" -#include "src/simix/MutexImpl.hpp" +#include "src/kernel/activity/MutexImpl.hpp" #if SIMGRID_HAVE_MC #include "src/mc/ModelChecker.hpp" diff --git a/src/mc/mc_request.cpp b/src/mc/mc_request.cpp index 56aa565e78..de861f45ce 100644 --- a/src/mc/mc_request.cpp +++ b/src/mc/mc_request.cpp @@ -6,6 +6,7 @@ #include #include "src/include/mc/mc.h" +#include "src/kernel/activity/MutexImpl.hpp" #include "src/mc/ModelChecker.hpp" #include "src/mc/mc_request.hpp" #include "src/mc/mc_smx.hpp" @@ -352,7 +353,7 @@ std::string simgrid::mc::request_to_string(smx_simcall_t req, int value, simgrid else type = "Mutex TRYLOCK"; - simgrid::mc::Remote mutex; + simgrid::mc::Remote mutex; mc_model_checker->process().read_bytes(mutex.getBuffer(), sizeof(mutex), remote( req->call == SIMCALL_MUTEX_LOCK diff --git a/src/s4u/s4u_mutex.cpp b/src/s4u/s4u_mutex.cpp index 11ea4b9426..c69ed49315 100644 --- a/src/s4u/s4u_mutex.cpp +++ b/src/s4u/s4u_mutex.cpp @@ -4,7 +4,7 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "simgrid/s4u/Mutex.hpp" -#include "src/simix/MutexImpl.hpp" +#include "src/kernel/activity/MutexImpl.hpp" namespace simgrid { namespace s4u { diff --git a/src/simix/libsmx.cpp b/src/simix/libsmx.cpp index 8337da293b..61d57bcbd1 100644 --- a/src/simix/libsmx.cpp +++ b/src/simix/libsmx.cpp @@ -20,10 +20,10 @@ #include "simgrid/simix/blocking_simcall.hpp" #include "smx_private.hpp" #include "src/kernel/activity/CommImpl.hpp" +#include "src/kernel/activity/MutexImpl.hpp" #include "src/mc/mc_forward.hpp" #include "src/mc/mc_replay.hpp" #include "src/plugins/vm/VirtualMachineImpl.hpp" -#include "src/simix/MutexImpl.hpp" #include "src/simix/smx_host_private.hpp" #include "xbt/ex.h" #include "xbt/functional.hpp" @@ -450,7 +450,7 @@ smx_mutex_t simcall_mutex_init() fprintf(stderr,"You must run MSG_init before using MSG\n"); // We can't use xbt_die since we may get there before the initialization xbt_abort(); } - return simgrid::simix::kernelImmediate([] { return new simgrid::simix::MutexImpl(); }); + return simgrid::simix::kernelImmediate([] { return new simgrid::kernel::activity::MutexImpl(); }); } /** diff --git a/src/simix/smx_synchro.cpp b/src/simix/smx_synchro.cpp index 1d78318d7c..2fca1552f8 100644 --- a/src/simix/smx_synchro.cpp +++ b/src/simix/smx_synchro.cpp @@ -11,8 +11,8 @@ #include #include +#include "src/kernel/activity/MutexImpl.hpp" #include "src/kernel/activity/SynchroRaw.hpp" -#include "src/simix/MutexImpl.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_synchro, simix, "SIMIX Synchronization (mutex, semaphores and conditions)");