summaryrefslogtreecommitdiff
path: root/accel-pppd/radius/serv.c
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2014-11-10 23:51:50 +0300
committerDmitry Kozlov <xeb@mail.ru>2014-11-10 23:51:50 +0300
commit7763c6cfaecde4c9f1b47bf07966a88f6dd7d71b (patch)
tree0681be2b3155fb94315f19a3d195932e06bd7ce7 /accel-pppd/radius/serv.c
parente97ddb4c2b74b6169d193bd9b5398bd364b02721 (diff)
downloadaccel-ppp-7763c6cfaecde4c9f1b47bf07966a88f6dd7d71b.tar.gz
accel-ppp-7763c6cfaecde4c9f1b47bf07966a88f6dd7d71b.zip
radius: disable read handler when put req into wait queue (fixes race conditions)
Diffstat (limited to 'accel-pppd/radius/serv.c')
-rw-r--r--accel-pppd/radius/serv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/accel-pppd/radius/serv.c b/accel-pppd/radius/serv.c
index 935caa4f..58fc4349 100644
--- a/accel-pppd/radius/serv.c
+++ b/accel-pppd/radius/serv.c
@@ -204,6 +204,10 @@ int rad_server_req_enter(struct rad_req_t *req)
req->serv->queue_cnt++;
log_ppp_debug("radius(%i): queue %p\n", req->serv->id, req);
pthread_mutex_unlock(&req->serv->lock);
+
+ if (req->hnd.tpd)
+ triton_md_disable_handler(&req->hnd, MD_MODE_READ);
+
return 0;
}