model: bugfix - iterator naming conflict
[model-checker.git] / model.cc
index 2b902ba809106795e77791bde5d500653934ed43..fdefcc2bcf390dd4a2615a411920466a8f901022 100644 (file)
--- a/model.cc
+++ b/model.cc
@@ -626,7 +626,8 @@ Thread * ModelChecker::check_current_action(ModelAction *curr)
                        bool update = false; /* update this location's release seq's */
                        bool update_all = false; /* update all release seq's */
 
-                       process_thread_action(curr);
+                       if (process_thread_action(curr))
+                               update_all = true;
 
                        if (act->is_read() && process_read(act, second_part_of_rmw))
                                update = true;
@@ -1278,9 +1279,9 @@ bool ModelChecker::resolve_release_sequences(void *location, work_queue_t *work_
                        work_queue->push_back(MOEdgeWorkEntry(act));
 
                        /* propagate synchronization to later actions */
-                       action_list_t::reverse_iterator it = action_trace->rbegin();
-                       for (; (*it) != act; it++) {
-                               ModelAction *propagate = *it;
+                       action_list_t::reverse_iterator rit = action_trace->rbegin();
+                       for (; (*rit) != act; rit++) {
+                               ModelAction *propagate = *rit;
                                if (act->happens_before(propagate)) {
                                        propagate->synchronize_with(act);
                                        /* Re-check 'propagate' for mo_graph edges */