From: Witold Kręcicki Date: Fri, 23 Nov 2018 18:44:06 +0000 (+0000) Subject: Set quantum in dispatch X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c42f9204493d68a2cdc7e6f29a3832c1ad2e9c79;p=thirdparty%2Fbind9.git Set quantum in dispatch --- diff --git a/lib/isc/task.c b/lib/isc/task.c index f9005e5d48a..b3e8d37fdcf 100644 --- a/lib/isc/task.c +++ b/lib/isc/task.c @@ -292,7 +292,7 @@ isc_task_create_bound(isc_taskmgr_t *manager0, unsigned int quantum, INIT_LIST(task->events); INIT_LIST(task->on_shutdown); task->nevents = 0; - task->quantum = (quantum > 0) ? quantum : DEFAULT_QUANTUM; + task->quantum = quantum; task->flags = 0; task->now = 0; isc_time_settoepoch(&task->tnow); @@ -1097,6 +1097,7 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { task = pop_readyq(manager, threadid); if (task != NULL) { unsigned int dispatch_count = 0; + unsigned int quantum = (task->quantum > 0) ? task->quantum : DEFAULT_QUANTUM; bool done = false; bool requeue = false; bool finished = false; @@ -1203,7 +1204,7 @@ dispatch(isc__taskmgr_t *manager, unsigned int threadid) { } else task->state = task_state_idle; done = true; - } else if (dispatch_count >= task->quantum) { + } else if (dispatch_count >= quantum) { /* * Our quantum has expired, but * there is more work to be done.