Do not process read actions paused by the fuzzer
authorweiyu <weiyuluo1232@gmail.com>
Thu, 5 Sep 2019 01:34:24 +0000 (18:34 -0700)
committerweiyu <weiyuluo1232@gmail.com>
Thu, 5 Sep 2019 01:34:24 +0000 (18:34 -0700)
history.cc

index ff7b4a25f84cce4b7e28f32c68c3237423b12d72..584b9f0058ac1690a9b7bebdf2a58ade4704ca8a 100644 (file)
@@ -160,9 +160,11 @@ void ModelHistory::process_action(ModelAction *act, thread_id_t tid)
        if (curr_act_list->size() != 0)
                last_act = curr_act_list->back();
 
-       // skip actions that are second part of a read modify write or actions with the same sequence number
-       if (second_part_of_rmw ||
-               (last_act != NULL && last_act->get_seq_number() == act->get_seq_number()) )
+       /* skip actions that are paused by fuzzer (sequence number is 0), 
+        * that are second part of a read modify write or actions with the same sequence number */
+       modelclock_t curr_seq_number = act->get_seq_number();
+       if (curr_seq_number == 0 || second_part_of_rmw ||
+               (last_act != NULL && last_act->get_seq_number() == curr_seq_number) )
                return;
 
        if ( func_nodes.size() <= func_id )