From ffa229d08ddc026433645dee724276a0a850708c Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Fri, 1 Aug 2014 17:47:36 +0400 Subject: radius: close socket after receiving accounting response --- accel-pppd/radius/acct.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/accel-pppd/radius/acct.c b/accel-pppd/radius/acct.c index fc4cae8a..698fa22d 100644 --- a/accel-pppd/radius/acct.c +++ b/accel-pppd/radius/acct.c @@ -348,23 +348,18 @@ out: #ifdef USE_BACKUP } #endif + close(rpd->acct_req->hnd.fd); + rpd->acct_req->hnd.fd = -1; rpd->acct_req->hnd.read = rad_acct_read; - triton_md_register_handler(rpd->ses->ctrl->ctx, &rpd->acct_req->hnd); - if (triton_md_enable_handler(&rpd->acct_req->hnd, MD_MODE_READ)) - goto out_err; - rpd->acct_req->timeout.expire = rad_acct_timeout; rpd->acct_req->timeout.period = conf_timeout * 1000; - + rpd->acct_interim_timer.expire = rad_acct_interim_update; rpd->acct_interim_timer.period = rpd->acct_interim_interval ? rpd->acct_interim_interval * 1000 : STAT_UPDATE_INTERVAL; - if (rpd->acct_interim_interval && triton_timer_add(rpd->ses->ctrl->ctx, &rpd->acct_interim_timer, 0)) { - triton_md_unregister_handler(&rpd->acct_req->hnd, 0); - triton_timer_del(&rpd->acct_req->timeout); - goto out_err; - } + if (rpd->acct_interim_interval) + triton_timer_add(rpd->ses->ctrl->ctx, &rpd->acct_interim_timer, 0); return 0; out_err: -- cgit v1.2.3