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

Reply via email to