diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2014-10-23 17:49:49 +0400 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2014-10-23 17:49:49 +0400 |
commit | 1819d99a0469b1c3fe7d1e9b6fbd593d86f5052f (patch) | |
tree | c8859d85642dc8991628b106809f61ab89a82a8d /accel-pppd/radius/req.c | |
parent | 90125d7cad59c2c47e1a5765261af4a9d817e7e8 (diff) | |
download | accel-ppp-1819d99a0469b1c3fe7d1e9b6fbd593d86f5052f.tar.gz accel-ppp-1819d99a0469b1c3fe7d1e9b6fbd593d86f5052f.zip |
radius: fixed stuck during shutdown when radius server does not respond
Diffstat (limited to 'accel-pppd/radius/req.c')
-rw-r--r-- | accel-pppd/radius/req.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/accel-pppd/radius/req.c b/accel-pppd/radius/req.c index 32fa44ca..b07198f4 100644 --- a/accel-pppd/radius/req.c +++ b/accel-pppd/radius/req.c @@ -353,12 +353,14 @@ int rad_req_send(struct rad_req_t *req) req->send = __rad_req_send; if (req->try++ == conf_max_try) { - rad_server_req_exit(req); - - if (rad_server_realloc(req)) { - if (req->rpd) - log_ppp_warn("radius: no available servers\n"); - return -1; + if (req->active) { + rad_server_req_exit(req); + + if (rad_server_realloc(req)) { + if (req->rpd) + log_ppp_warn("radius: no available servers\n"); + return -1; + } } req->try = 1; |