From: Alan T. DeKok Date: Tue, 30 Jan 2018 19:50:45 +0000 (-0500) Subject: more assertions and cleanups X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0f5f8a89908ece6e497eaecca58a0da71c62ad6e;p=thirdparty%2Ffreeradius-server.git more assertions and cleanups --- diff --git a/src/lib/io/worker.c b/src/lib/io/worker.c index 6654af3c1a9..932d95730fa 100644 --- a/src/lib/io/worker.c +++ b/src/lib/io/worker.c @@ -461,9 +461,7 @@ static void fr_worker_send_reply(fr_worker_t *worker, REQUEST *request, size_t s */ if (request->async->detached) { fr_time_tracking_end(&request->async->tracking, fr_time(), &worker->tracking); - RDEBUG("finished request."); - talloc_free(request); - return; + goto finished; } /* @@ -550,6 +548,10 @@ static void fr_worker_send_reply(fr_worker_t *worker, REQUEST *request, size_t s if (request->time_order_id >= 0) (void) fr_heap_extract(worker->time_order, request); if (request->runnable_id >= 0) (void) fr_heap_extract(worker->runnable, request); +finished: + rad_assert(request->time_order_id < 0); + rad_assert(request->runnable_id < 0); + #ifndef NDEBUG request->async->original_recv_time = NULL; request->async->el = NULL;