summaryrefslogtreecommitdiff
path: root/accel-pppd/radius
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/radius')
-rw-r--r--accel-pppd/radius/acct.c8
-rw-r--r--accel-pppd/radius/serv.c2
2 files changed, 6 insertions, 4 deletions
diff --git a/accel-pppd/radius/acct.c b/accel-pppd/radius/acct.c
index 5816e509..fc4cae8a 100644
--- a/accel-pppd/radius/acct.c
+++ b/accel-pppd/radius/acct.c
@@ -382,11 +382,12 @@ void rad_acct_stop(struct radius_pd_t *rpd)
if (!rpd->acct_req || !rpd->acct_req->serv)
return;
- if (rpd->acct_interim_timer.tpd) {
+ if (rpd->acct_interim_timer.tpd)
triton_timer_del(&rpd->acct_interim_timer);
- }
- if (rpd->acct_req) {
+ if (rpd->acct_req->timeout.tpd)
+ rad_server_req_exit(rpd->acct_req);
+
if (rpd->acct_req->hnd.tpd)
triton_md_unregister_handler(&rpd->acct_req->hnd, 0);
@@ -496,6 +497,5 @@ out:
rad_req_free(rpd->acct_req);
rpd->acct_req = NULL;
- }
}
diff --git a/accel-pppd/radius/serv.c b/accel-pppd/radius/serv.c
index 3d01057a..0910314a 100644
--- a/accel-pppd/radius/serv.c
+++ b/accel-pppd/radius/serv.c
@@ -138,6 +138,7 @@ int rad_server_req_enter(struct rad_req_t *req)
}
req->serv->req_cnt++;
+ log_ppp_debug("radius(%i): req_enter %i\n", req->serv->id, req->serv->req_cnt);
pthread_mutex_unlock(&req->serv->lock);
return 0;
@@ -152,6 +153,7 @@ void rad_server_req_exit(struct rad_req_t *req)
pthread_mutex_lock(&req->serv->lock);
req->serv->req_cnt--;
+ log_ppp_debug("radius(%i): req_exit %i\n", req->serv->id, req->serv->req_cnt);
assert(req->serv->req_cnt >= 0);
if (req->serv->req_cnt < req->serv->req_limit && !list_empty(&req->serv->req_queue)) {
r = list_entry(req->serv->req_queue.next, typeof(*r), entry);