Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
code simplification + replace a FIXME with an assert
[simgrid.git] / src / kernel / activity / ConditionVariableImpl.hpp
index 9927841..7945f2a 100644 (file)
@@ -7,7 +7,7 @@
 #define SIMGRID_KERNEL_ACTIVITY_CONDITIONVARIABLEIMPL_HPP
 
 #include "simgrid/s4u/ConditionVariable.hpp"
-#include "src/simix/ActorImpl.hpp"
+#include "src/kernel/actor/ActorImpl.hpp"
 #include <boost/intrusive/list.hpp>
 
 namespace simgrid {
@@ -19,12 +19,13 @@ public:
   ConditionVariableImpl();
   ~ConditionVariableImpl();
 
-  simgrid::kernel::actor::SynchroList sleeping; /* list of sleeping processes */
-  smx_mutex_t mutex = nullptr;
-  simgrid::s4u::ConditionVariable cond_;
+  actor::SynchroList sleeping_; /* list of sleeping processes */
+  MutexImpl* mutex_ = nullptr;
+  s4u::ConditionVariable cond_;
 
   void broadcast();
   void signal();
+  void wait(MutexImpl* mutex, double timeout, actor::ActorImpl* issuer);
 
 private:
   std::atomic_int_fast32_t refcount_{1};