Qinxue Chen <[EMAIL PROTECTED]> wrote:
> But in the software, the new requests are dropped. Yesterday I modified the
> code (radiusd.c) a little. The whole else block for the error part was got
> rid of. That means the new request would be added and processed.
That will work for you, and is a good solution for the short term.
But I still would like to know WHY the old requests stick around.
> I run it the whole night without problems. I only worried about
> possible memory leak. I believed that some old requests were still
> in the request data. From my tests with the change, memory usage was
> fine on the box.
If you call the standard functions to delete the request, then there
will be no memory leak.
> The way to solve the problem cleanly is to identify two cases: 1) old
> requests stayed for a long time in the request data.
That's probably what's happening.
> 2) server is not fast enough to handle a request and a new request
> with the same id/code/ip/port comes in.
The server should be fast enough to handle 1000's of requests per
second.
> Case 1) can be caused by whatever reasons like threads die. For
> case 1), a new request can replace the old one in the request data. For my
> tests, all problems fall in case 1).
OK. So we then need to track down what the bug is.
Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html