diff --git a/src/scheduler.c b/src/scheduler.c index a53ca523bd312a18881d3c809e462a82978bf720..4ae16f236589331d2041b1c7b9d3d0efa4131d50 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -758,10 +758,8 @@ struct task *scheduler_gettask ( struct scheduler *s , int qid ) { for ( k = 0 ; k < nr_queues ; k++ ) if ( s->queues[k].count > 0 ) qids[ count++ ] = k; - if ( count > 1 ) { - if ( ( res = queue_gettask( &s->queues[ qids[ rand() % count ] ] , qid , 0 ) ) != NULL ) - break; - } + if ( count > 0 && ( res = queue_gettask( &s->queues[ qids[ rand() % count ] ] , qid , 0 ) ) != NULL ) + break; } }