X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bc2253e2c879ee28ae5153f1d56497ab802aeea9..e80fc92c523fadeda71f4f7c2f0ca6a5a7dea7a7:/src/mc/explo/odpor/ReversibleRaceCalculator.cpp diff --git a/src/mc/explo/odpor/ReversibleRaceCalculator.cpp b/src/mc/explo/odpor/ReversibleRaceCalculator.cpp index d1b7b2a693..5fcb30e2c3 100644 --- a/src/mc/explo/odpor/ReversibleRaceCalculator.cpp +++ b/src/mc/explo/odpor/ReversibleRaceCalculator.cpp @@ -153,9 +153,10 @@ bool ReversibleRaceCalculator::is_race_reversible_MutexUnlock(const Execution&, bool ReversibleRaceCalculator::is_race_reversible_MutexWait(const Execution& E, Execution::EventHandle e1, const Transition* /*e2*/) { - // TODO: for now we over approximate the reversibility - - return true; + // Only an Unlock can be dependent with a Wait + // and in this case, the Unlock enbaled the wait + // Not reversibled + return false; } bool ReversibleRaceCalculator::is_race_reversible_SemAsyncLock(const Execution&, Execution::EventHandle /*e1*/, @@ -175,7 +176,7 @@ bool ReversibleRaceCalculator::is_race_reversible_SemUnlock(const Execution&, Ex bool ReversibleRaceCalculator::is_race_reversible_SemWait(const Execution& E, Execution::EventHandle e1, const Transition* /*e2*/) { - + const auto e1_transition = E.get_transition_for_handle(e1); if (e1_transition->type_ == Transition::Type::SEM_UNLOCK && static_cast(e1_transition)->get_capacity() <= 1) {