]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
clean up more request stuff, and add more assertions
authorAlan T. DeKok <aland@freeradius.org>
Tue, 10 Oct 2017 13:12:50 +0000 (09:12 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 10 Oct 2017 13:13:09 +0000 (09:13 -0400)
src/lib/io/worker.c

index e99cfecb35313b645f46f05cf17bd13d86efc7f8..9ca5e9c1e117131daea3e7a2ca3f49d1e56b34fc 100644 (file)
@@ -540,6 +540,19 @@ static void fr_worker_send_reply(fr_worker_t *worker, REQUEST *request, size_t s
         */
        (void) fr_heap_extract(worker->time_order, request);
        (void) rbtree_deletebydata(worker->dedup, request);
+
+#ifndef NDEBUG
+       rad_assert(request->runnable_id < 0);
+       rad_assert(request->time_order_id < 0);
+       request->async->original_recv_time = NULL;
+       request->async->el = NULL;
+       request->async->process = NULL;
+       fr_dlist_remove(&request->async->tracking.list);
+       request->async->channel = NULL;
+       request->async->packet_ctx = NULL;
+       request->async->listen = NULL;
+#endif
+
        talloc_free(request);
 
        if (!worker->num_active) worker_reset_timer(worker);