Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of framagit.org:simgrid/simgrid
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 12 Nov 2023 14:01:06 +0000 (15:01 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 12 Nov 2023 14:01:06 +0000 (15:01 +0100)
1  2 
src/mc/explo/odpor/ReversibleRaceCalculator.cpp

@@@ -153,16 -150,17 +153,17 @@@ bool ReversibleRaceCalculator::is_race_
    return true;
  }
  
 -bool ReversibleRaceCalculator::is_race_reversible_MutexWait(const Execution& E, Execution::EventHandle e1,
 -                                                            const Transition* /*e2*/)
 +bool ReversibleRaceCalculator::is_race_reversible_MutexWait(const Execution& E, const Transition* /*other_transition*/,
 +                                                            const Transition* /*t2*/)
  {
-   // 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*/,
 -                                                               const Transition* /*e2*/)
 +bool ReversibleRaceCalculator::is_race_reversible_SemAsyncLock(const Execution&, const Transition* /*other_transition*/,
 +                                                               const Transition* /*t2*/)
  {
    // SemAsyncLock is always enabled
    return true;