diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2014-11-10 23:51:50 +0300 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2014-11-10 23:51:50 +0300 |
commit | 7763c6cfaecde4c9f1b47bf07966a88f6dd7d71b (patch) | |
tree | 0681be2b3155fb94315f19a3d195932e06bd7ce7 /accel-pppd/radius/serv.c | |
parent | e97ddb4c2b74b6169d193bd9b5398bd364b02721 (diff) | |
download | accel-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.c | 4 |
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; } |