diff --git a/src/queue.c b/src/queue.c index f1845b3a2c5c835409ff4479f86291b47624fbf2..f14db6a569132a6cc50134a05bb29a1f04bdff05 100644 --- a/src/queue.c +++ b/src/queue.c @@ -343,7 +343,8 @@ struct task *queue_gettask_new ( struct queue *q , int rid , int blocking , int score_best = score; /* Should we bother looking any farther? */ - if ( score_best == 2 ) + if ( ( qtasks[ qtid[ ind_best ] ].cj == NULL && score_best == 1 ) || + score_best == 2 ); break; } /* loop over the task IDs. */ diff --git a/src/queue.h b/src/queue.h index 5c872e9940b33c49f6f5beb5ff60f4ee27592580..e8fc4930eed87a3c4b2f62846ae46c1ea536a8d8 100644 --- a/src/queue.h +++ b/src/queue.h @@ -18,6 +18,10 @@ ******************************************************************************/ +/* Some constants. */ +#define queue_maxhits 10 + + /* The queue timers themselves. */ enum { queue_timer_none = 0, diff --git a/src/runner.c b/src/runner.c index daaf68ea844edd301384aaa2110b357354806143..f224eef17b8dc452020645c8df0fb41d06b7c393 100644 --- a/src/runner.c +++ b/src/runner.c @@ -1079,7 +1079,7 @@ void *runner_main ( void *data ) { TIMER_TIC t = NULL; if ( r->nr_queues == 1 ) { - t = queue_gettask_new( &r->queues[0] , rt->id , 1 , 0 ); + t = queue_gettask( &r->queues[0] , 1 , 0 ); } else if ( r->policy & runner_policy_steal ) { if ( ( myq->next == myq->count ) || diff --git a/src/runner.h b/src/runner.h index 1549fe7e16c642e8111311388b0a0d9e0ffae52d..c06a24aca83d9591e1e45546bab652f448321854 100644 --- a/src/runner.h +++ b/src/runner.h @@ -37,9 +37,6 @@ enum { runner_timer_dopair, runner_timer_dosub, runner_timer_getpair, - runner_timer_queue, - runner_timer_tree, - runner_timer_bubble, runner_timer_steal, runner_timer_stalled, runner_timer_count,