Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Modernize simcall sem_acquire.
[simgrid.git] / src / mc / checker / SimcallObserver.hpp
index 70efba4c6a9129d45692ab2bba23f8b95f25f100..2dec9072cd5d05e1ec7a421205f8aa1981a4d77d 100644 (file)
@@ -88,6 +88,18 @@ public:
   std::string dot_label() const override;
   kernel::activity::MutexImpl* get_mutex() const { return mutex_; }
 };
+
+class SemAcquireSimcall : public SimcallObserver {
+  kernel::activity::SemaphoreImpl* const sem_;
+
+public:
+  SemAcquireSimcall(smx_actor_t actor, kernel::activity::SemaphoreImpl* sem) : SimcallObserver(actor), sem_(sem) {}
+  bool is_enabled() const override;
+  bool is_visible() const override { return false; }
+  std::string to_string(int times_considered) const override;
+  std::string dot_label() const override;
+  kernel::activity::SemaphoreImpl* get_sem() const { return sem_; }
+};
 } // namespace mc
 } // namespace simgrid