(void) fr_message_alloc(ms, &reply->m, slen);
}
- /*
- * The request is done. Track that.
- */
- worker_request_time_tracking_end(worker, request, now);
-
/*
* Fill in the rest of the fields in the channel message.
*
static void _worker_request_done_external(request_t *request, UNUSED rlm_rcode_t rcode, void *uctx)
{
fr_worker_t *worker = talloc_get_type_abort(uctx, fr_worker_t);
+ fr_time_t now = fr_time();
/*
* All external requests MUST have a listener.
"Request %s stack depth %u > 0", request->name, unlang_interpret_stack_depth(request));
RDEBUG("Done request");
+ /*
+ * The request is done. Track that.
+ */
+ worker_request_time_tracking_end(worker, request, now);
+
/*
* These conditions are true when the server is
* exiting and we're stopping all the requests.
return;
}
- worker_send_reply(worker, request, request->master_state == REQUEST_STOP_PROCESSING ? 1 : 0, fr_time());
+ worker_send_reply(worker, request, request->master_state == REQUEST_STOP_PROCESSING ? 1 : 0, now);
talloc_free(request);
}