yes it will require code changes there. I wouldn't make an idle loop tho. I would do something to swap out the pointers with the new ones and protect it all with a mutex. I think we do something similar with dialplan reload.
On Mar 3, 2015, at 1:35 PM, Sergey Safarov <s.safarov@gmail.com> wrote:
Will it help addition of the configuration update flag of module CORE_SOFTTIMER_MODULE. And to add idle loop 'into the function switch_lookup_timezone until 'update is complete?
On Tue, Mar 3, 2015 at 7:21 PM, Michael Jerris <mike@jerris.com <mailto:mike@jerris.com>> wrote: That is ALWAYS loaded before any other modules, so that not being loaded after. Whats happening here, is the reload signal triggers the timezones to reload asynchronously. This will require a code change to swap those out in some way that doesn't leave them empty for a short period, properly protected against race conditions. This code is in switch_time.c.
On Mar 3, 2015, at 10:41 AM, Sergey Safarov <s.safarov@gmail.com <mailto:s.safarov@gmail.com>> wrote:
Please help me declare module dependency I has extended module radius_cdr by timezone support and from time to time is getting following error
freeswitch@internal> reload mod_radius_cdr +OK Reloading XML +OK module unloaded +OK module loaded
2015-03-03 18:35:34.543407 [CONSOLE] switch_loadable_module.c:1935 Stopping: mod_radius_cdr 2015-03-03 18:35:34.543407 [CONSOLE] switch_loadable_module.c:1955 mod_radius_cdr unloaded. 2015-03-03 18:35:34.543407 [INFO] mod_enum.c:880 ENUM Reloaded 2015-03-03 18:35:34.543407 [ERR] switch_time.c:1324 Timezone 'Asia/Tokyo' not found! 2015-03-03 18:35:34.543407 [ERR] mod_radius_cdr.c:992 Cannot find timezone Asia/Tokyo , Setting timezone to GMT 2015-03-03 18:35:34.543407 [CONSOLE] switch_loadable_module.c:1465 Successfully Loaded [mod_radius_cdr] 2015-03-03 18:35:34.543407 [INFO] switch_time.c:1369 Timezone reloaded 1781 definitions
Module currently depend of loaded configuradion of CORE_SOFTTIMER_MODULE but mod_radius_cdr loaded before loaded CORE_SOFTTIMER_MODULE configuration.
How can I make sure that CORE_SOFTTIMER_MODULE configuration is loaded before mod_radius_cdr?