TIMEOUT requests && then Duplicate Requests && then Threads block

Alan DeKok aland at ox.org
Fri Oct 14 22:38:09 CEST 2005


Joe Maimon <jmaimon at ttec.com> wrote:
>                  request->options |= RAD_REQUEST_OPTION_STOP_NOW;
> /* This is the line I have added?? */
>                  request->finished = TRUE;

  And the server will likely core dump.

  The "finished" flag is used also as a "it's OK to free() the
request" flag.  If the thread is still accessing it, it's a SEGV.

  The solution is to take those "dead" requests, and move them to a
*separate* list, which is cleaned up periodically.  That way old
requests don't prevent new ones from coming in.

  Alan DeKok.



More information about the Freeradius-Devel mailing list