request_list.c:rl_free_entry() bad pthread_kill()?
fcusack at fcusack.com
Wed May 10 21:09:28 CEST 2006
On May 10, 2006 1:01:59 PM -0400 Alan DeKok <aland at nitros9.org> wrote:
> The CVS head has a "stop now" flag, which causes src/main/modcall.c
> to stop processing the request. If the blocked module can be
> convinced to return, then the thread should be available for other
here's an idea. set the stop now flag, unlink the entry but don't
free it. have modcall.c free the entry if the stop now flag is set
when the thread returns from processing.
That way, rl_deinit() (which calls rl_free_entry()) can do its stuff.
However I don't know what impact there will be on rl_deinit() continuing
while a module is processing a request under a previous configuration.
I guess that's up to individual modules to handle failures gracefully.
(eg a module might be reconfigured to use a different passwd file, and
the old one removed while it's processing a request)
I'm assuming rl_deinit() is used for server reload.
More information about the Freeradius-Devel