execution: bugfix - no action "conflicts" with itself
authorBrian Norris <banorris@uci.edu>
Wed, 17 Apr 2013 17:50:25 +0000 (10:50 -0700)
committerBrian Norris <banorris@uci.edu>
Wed, 17 Apr 2013 18:02:36 +0000 (11:02 -0700)
execution.cc

index fc2370616388d0c60acf8048fceee307e33ef269..a74147be4bbe7e068a9ddd05a58ff459ccb1a7c8 100644 (file)
@@ -380,6 +380,8 @@ ModelAction * ModelExecution::get_last_conflict(ModelAction *act) const
                action_list_t::reverse_iterator rit;
                for (rit = list->rbegin(); rit != list->rend(); rit++) {
                        ModelAction *prev = *rit;
                action_list_t::reverse_iterator rit;
                for (rit = list->rbegin(); rit != list->rend(); rit++) {
                        ModelAction *prev = *rit;
+                       if (prev == act)
+                               continue;
                        if (prev->could_synchronize_with(act)) {
                                ret = prev;
                                break;
                        if (prev->could_synchronize_with(act)) {
                                ret = prev;
                                break;