Re: Re[6]: Modules cleanup
> Now it's working fine...for KILL and TERM. Except SIGKILL can't be caught. But that's another story... > BTW, I notice that this is work correctly only when compiling with > --with-threads. Previously, when I compiled --with-threads=no there > was problems authenticating users with sql module (except while in > single process mode). When compiling without threads, the ONLY method of running is in single process mode. And this change to signal handling will ONLY work when threading. Without threading, it may take seconds for execution to return from the module (sql or whatever), and back to the main loop. I've added patches based on what I've been describing. So SIGTERM should work a little better... Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: Modules cleanup
[EMAIL PROTECTED] wrote: > I'm slightly change modules.c and modules.h in order to make > module_list_free() public accessible. And I place call to > this function in radiusd.c sig_fatal() function. That won't work. If it does, then it works by accident.Signal call handling functions should do NO work, other than setting a variable. So have sig_fatal() set a variable 'do_exit', and have the code in the main loop after the select check for do_exit, on EINTR. It can then go to a special 'close and exit' routine. Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Modules cleanup
Hi! I'm slightly change modules.c and modules.h in order to make module_list_free() public accessible. And I place call to this function in radiusd.c sig_fatal() function. At now after killing radiusd there is correct cleanup of rlm_sql module at least (so connection to sql server is correctly closes). Are my changes correct? (question for developers especially). - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html