diff options
author | Kozlov Dmitry <xeb@mail.ru> | 2012-07-30 10:42:15 +0400 |
---|---|---|
committer | Kozlov Dmitry <xeb@mail.ru> | 2012-07-30 10:42:15 +0400 |
commit | ca6455606c14fec4fd825325a1ae0cc8a9c8fe90 (patch) | |
tree | 232c405192ae040a19d619a375bd6cbf44a6b75f /accel-pppd/radius | |
parent | 918036a3c42cb6dd5b796c52b6aaf278c466c928 (diff) | |
download | accel-ppp-ca6455606c14fec4fd825325a1ae0cc8a9c8fe90.tar.gz accel-ppp-ca6455606c14fec4fd825325a1ae0cc8a9c8fe90.zip |
add per-CTRL ip-pool option to specify default ip pool name
Diffstat (limited to 'accel-pppd/radius')
-rw-r--r-- | accel-pppd/radius/serv.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/accel-pppd/radius/serv.c b/accel-pppd/radius/serv.c index 30219f75..b7ee0bee 100644 --- a/accel-pppd/radius/serv.c +++ b/accel-pppd/radius/serv.c @@ -76,6 +76,7 @@ void rad_server_put(struct rad_server_t *s, int type) int rad_server_req_enter(struct rad_req_t *req) { struct timespec ts; + //struct rad_req_t *r = NULL; if (req->serv->need_free) return -1; @@ -103,16 +104,26 @@ int rad_server_req_enter(struct rad_req_t *req) triton_context_schedule(); pthread_mutex_lock(&req->serv->lock); + clock_gettime(CLOCK_MONOTONIC, &ts); + req->serv->queue_cnt--; if (ts.tv_sec < req->serv->fail_time || req->serv->need_free) { + /*if (!list_empty(&req->serv->req_queue)) { + r = list_entry(req->serv->req_queue.next, typeof(*r), entry); + list_del(&r->entry); + }*/ pthread_mutex_unlock(&req->serv->lock); + + /*if (r) + triton_context_wakeup(r->rpd->ppp->ctrl->ctx);*/ + return -1; } } req->serv->req_cnt++; pthread_mutex_unlock(&req->serv->lock); - + return 0; } |