summaryrefslogtreecommitdiff
path: root/accel-pppd/radius/req.c
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2014-07-11 14:30:43 +0400
committerDmitry Kozlov <xeb@mail.ru>2014-07-11 14:30:43 +0400
commitca96af9c783f0aa01d89f3226e91014a77f7624f (patch)
treed4aa17ce2ff17e6fe2e04a8c1cdb3b87b746a1f7 /accel-pppd/radius/req.c
parent1cc4499b0244ccd82c2f99d1a2c3ff6632bd5b40 (diff)
downloadaccel-ppp-ca96af9c783f0aa01d89f3226e91014a77f7624f.tar.gz
accel-ppp-ca96af9c783f0aa01d89f3226e91014a77f7624f.zip
radius: fixed handling socket errors during interim updates
Diffstat (limited to 'accel-pppd/radius/req.c')
-rw-r--r--accel-pppd/radius/req.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/accel-pppd/radius/req.c b/accel-pppd/radius/req.c
index d688f58a..27a33f25 100644
--- a/accel-pppd/radius/req.c
+++ b/accel-pppd/radius/req.c
@@ -261,8 +261,12 @@ static int make_socket(struct rad_req_t *req)
return 0;
out_err:
- close(req->hnd.fd);
- req->hnd.fd = -1;
+ if (req->hnd.tpd)
+ triton_md_unregister_handler(&req->hnd, 1);
+ else {
+ close(req->hnd.fd);
+ req->hnd.fd = -1;
+ }
return -1;
}