X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dba3a5e288cc29c684bf59206208ded770bb35c8..d68e1c39ec0832cb2391aedd17a868c597dd399e:/src/mc/transition/TransitionSynchro.hpp diff --git a/src/mc/transition/TransitionSynchro.hpp b/src/mc/transition/TransitionSynchro.hpp index 8742e651cb..d8b7d030eb 100644 --- a/src/mc/transition/TransitionSynchro.hpp +++ b/src/mc/transition/TransitionSynchro.hpp @@ -19,6 +19,7 @@ public: std::string to_string(bool verbose) const override; BarrierTransition(aid_t issuer, int times_considered, Type type, std::stringstream& stream); bool depends(const Transition* other) const override; + bool reversible_race(const Transition* other) const override; }; class MutexTransition : public Transition { @@ -29,19 +30,24 @@ public: std::string to_string(bool verbose) const override; MutexTransition(aid_t issuer, int times_considered, Type type, std::stringstream& stream); bool depends(const Transition* other) const override; + bool reversible_race(const Transition* other) const override; uintptr_t get_mutex() const { return this->mutex_; } aid_t get_owner() const { return this->owner_; } }; class SemaphoreTransition : public Transition { - uintptr_t sem_; + unsigned int sem_; // ID bool granted_; + unsigned capacity_; public: std::string to_string(bool verbose) const override; SemaphoreTransition(aid_t issuer, int times_considered, Type type, std::stringstream& stream); bool depends(const Transition* other) const override; + bool reversible_race(const Transition* other) const override; + + int get_capacity() const { return capacity_; } }; } // namespace simgrid::mc