From: Arran Cudbard-Bell Date: Tue, 21 Apr 2020 01:17:25 +0000 (-0500) Subject: rlm_radius: Do less work when replicating X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1e89607ace54a1fd98ef4ff3515147abdc5571fb;p=thirdparty%2Ffreeradius-server.git rlm_radius: Do less work when replicating --- diff --git a/src/modules/rlm_radius/rlm_radius_udp.c b/src/modules/rlm_radius/rlm_radius_udp.c index 913898071f6..d4a19e7eb18 100644 --- a/src/modules/rlm_radius/rlm_radius_udp.c +++ b/src/modules/rlm_radius/rlm_radius_udp.c @@ -2430,6 +2430,18 @@ static void request_conn_release(fr_connection_t *conn, void *preq_to_reset, UNU if (!h->tt || (h->tt->num_requests == 0)) h->last_idle = fr_time(); } +/** Clear out anything associated with the handle from the request + * + */ +static void request_conn_release_replicate(fr_connection_t *conn, void *preq_to_reset, UNUSED void *uctx) +{ + udp_request_t *u = talloc_get_type_abort(preq_to_reset, udp_request_t); + + rad_assert(!u->ev); + + if (u->packet) udp_request_reset(u); +} + /** Write out a canned failure * */ @@ -2648,7 +2660,7 @@ static int mod_thread_instantiate(UNUSED CONF_SECTION const *cs, void *instance, .connection_notify = thread_conn_notify_replicate, .request_prioritise = request_prioritise, .request_mux = request_mux_replicate, - .request_conn_release = request_conn_release, + .request_conn_release = request_conn_release_replicate, .request_complete = request_complete, .request_fail = request_fail, .request_free = request_free