When lots of concurrent auth packets arrived at radius server .by
default ,if radius server exceeds the max packet process thread ,it
will discard the auth packet/<br>
see the code below in version 1.0.5<br>
<br clear="all">int thread_pool_addrequest(REQUEST *request, RAD_REQUEST_FUNP fun)<br>
{<br>
    /*<br>
     *    If the thread pool is busy handling requests, then<br>
     *    try to spawn another one.<br>
     */<br>
    if (thread_pool.active_threads == thread_pool.total_threads) {<br>
        if (spawn_thread(request->timestamp) == NULL) {<br>
            radlog(L_INFO,<br>
           
       "The maximum number of threads
(%d) are active, cannot spawn new thread to handle request",<br>
                   thread_pool.max_threads);<br>
            return 0;<br>
        }<br>
    }<br>
<br>
    /*<br>
     *    Add the new request to the queue.<br>
     */<br>
    request_enqueue(request, fun);<br>
<br>
    return 1;<br>
}<br>
<br>
why not just add the auth packet to the queue of the thread if the active thread number exceed the total thread number?<br>
<br>
<br>
<br>
<br>
<br>
<br>-- <br>Yesterday is a history.<br>Tomorrow is a mystery.<br>Today is a gift.<br>That's why we call it "the Present".