- //model_print("the %d read action of thread %d at %p is unsuccessful\n", read->get_seq_number(), read_thread->get_id(), read->get_location());
-
-/*--
- Thread * read_thread = execution->get_thread(tid);
- bool should_reselect_predicate = true;
- bool should_sleep = should_conditional_sleep(selected_branch);
- dist_info_vec.clear();
-
- if (!find_threads(read)) {
- update_predicate_score(selected_branch, SLEEP_FAIL_TYPE1);
- should_reselect_predicate = true;
- } else if (!should_sleep) {
- update_predicate_score(selected_branch, SLEEP_FAIL_TYPE2);
- should_reselect_predicate = true;
- } else {
- for (uint i = 0; i < dist_info_vec.size(); i++) {
- struct node_dist_info info = dist_info_vec[i];
- history->add_waiting_thread(tid, info.tid, info.target, info.dist);
- }
-
- // reset thread pending action and revert sequence numbers
- read_thread->set_pending(read);
- read->reset_seq_number();
- execution->restore_last_seq_num();
+ // Add failed predicate to NewFuzzer and FuncNode
+ failed_predicates.put(selected_branch, true);
+ selected_branch->incr_fail_count();