On November 8, 2005 3:02:58 AM -0600 Automatic cvs log generator <cparker@starnetusa.net> wrote:
Author: aland File: radiusd/src/main/request_list.c; Revisions: 1.69 ... Description: On deleting the request list, kill any live threads that are processing the request, and mark the request has having no child pid.
We should fix up the thread pool, too, to catch the case of "disappeared" child threads ...
|> if (request->child_pid != NO_SUCH_CHILD_PID) { |> pthread_kill(request->child_pid, SIGKILL); |> request->child_pid = NO_SUCH_CHILD_PID; |> } Sorry to second guess you, especially when I don't know the code path, but is such a drastic measure needed? My worry would be that a thread processing a request has some resource allocated or open, which would then leak. If the kill is safe, perhaps a comment indicating the circumstance would be appropriate, just for the sake of code browsing. -frank