summaryrefslogtreecommitdiff
path: root/accel-pppd/radius/serv.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/radius/serv.c')
-rw-r--r--accel-pppd/radius/serv.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/accel-pppd/radius/serv.c b/accel-pppd/radius/serv.c
index 6c01a886..2f69c667 100644
--- a/accel-pppd/radius/serv.c
+++ b/accel-pppd/radius/serv.c
@@ -134,7 +134,8 @@ int rad_server_req_cancel(struct rad_req_t *req)
}
pthread_mutex_unlock(&req->serv->lock);
- rad_server_req_exit(req);
+ if (req->active)
+ rad_server_req_exit(req);
if (req->timeout.tpd)
triton_timer_del(&req->timeout);
@@ -186,7 +187,10 @@ int rad_server_req_enter(struct rad_req_t *req)
pthread_mutex_unlock(&req->serv->lock);
req->active = 1;
-
+
+ if (req->send)
+ return req->send(req, 0);
+
return 0;
}