From: Alan T. DeKok Date: Thu, 22 Jun 2017 14:05:41 +0000 (-0400) Subject: set request->el and request->backlog for new listeners X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab6eb017edad7db839aebcc2a90caca36a7f8a1f;p=thirdparty%2Ffreeradius-server.git set request->el and request->backlog for new listeners --- diff --git a/src/lib/io/listen.h b/src/lib/io/listen.h index 24cd0750b2c..fd8ff2ad25b 100644 --- a/src/lib/io/listen.h +++ b/src/lib/io/listen.h @@ -39,7 +39,6 @@ struct fr_listen { */ struct fr_async_t { fr_dlist_t time_order; //!< tracking requests by time order - fr_heap_t *runnable; //!< heap of runnable requests fr_time_t recv_time; fr_time_t *original_recv_time; diff --git a/src/lib/io/worker.c b/src/lib/io/worker.c index 2306659abce..062d44974f6 100644 --- a/src/lib/io/worker.c +++ b/src/lib/io/worker.c @@ -669,6 +669,8 @@ static REQUEST *fr_worker_get_request(fr_worker_t *worker, fr_time_t now) ctx = request = request_alloc(NULL); if (!request) goto nak; + request->el = worker->el; + request->backlog = worker->runnable; request->packet = fr_radius_alloc(request, false); rad_assert(request->packet != NULL); request->reply = fr_radius_alloc(request, false); @@ -694,7 +696,6 @@ static REQUEST *fr_worker_get_request(fr_worker_t *worker, fr_time_t now) request->async->channel = cd->channel.ch; request->async->original_recv_time = cd->request.start_time; request->async->recv_time = cd->m.when; - request->async->runnable = worker->runnable; request->async->el = worker->el; request->number = worker->number++; @@ -1233,25 +1234,6 @@ void fr_worker(fr_worker_t *worker) } } -#if 0 -/* - * A local copy of unlang_resume(), so we know what we're supposed to do. - */ -void worker_resume_request(REQUEST *request) -{ - /* - * The request is no longer in the "yielded" list. But - * it isn't resumed (yet) so we don't add CPU time for - * it. - */ - fr_dlist_remove(&request->async->tracking.list); - - /* - * It's runnable again. - */ - (void) fr_heap_insert(request->async->runnable, request); -} -#endif /** Print debug information about the worker structure *