X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=fuzzer.cc;h=679b0af448d91dc7ae7863adc007addd99bf054e;hb=2acfc0ff81be16cc8793030e8234e67c7811525d;hp=5b174b15f847b1df433178d600758e3be93b30f8;hpb=54210d33af73ae7c74f2d416ab0e7bd472379e12;p=c11tester.git diff --git a/fuzzer.cc b/fuzzer.cc index 5b174b15..679b0af4 100644 --- a/fuzzer.cc +++ b/fuzzer.cc @@ -18,9 +18,10 @@ Thread * Fuzzer::selectThread(int * threadlist, int numthreads) { Thread * Fuzzer::selectNotify(action_list_t * waiters) { int numwaiters = waiters->size(); int random_index = random() % numwaiters; - action_list_t::iterator it = waiters->begin(); - advance(it, random_index); - Thread *thread = model->get_thread(*it); + sllnode * it = waiters->begin(); + while(random_index--) + it=it->getNext(); + Thread *thread = model->get_thread(it->getVal()); waiters->erase(it); return thread; }