[Freeswitch-users] module dependency

Sergey Safarov s.safarov at gmail.com
Mon Mar 9 13:13:03 MSK 2015


Hi Michael
I has created modified version of switch_load_timezones function in
attached file.
I has make first step - "swap out the pointers", but do know not how to
make correctly thread synchronization. Can you give me reference to
function and source file where located mutex protection of dialplan reload?

I has read apr_thread_mutex_lock and apr_thread_rwlock_rdlock functions
description
apr_thread_mutex_lock
http://apr.apache.org/docs/apr/1.3/group__apr__thread__mutex.html#g1430fd10d8d260c0e3832c959742a977
apr_thread_rwlock_rdlock
http://apr.apache.org/docs/apr/1.4/group__apr__thread__rwlock.html#gad44a106cd9a81eef362d31837ca7018f

May be usage switch_thread_rwlock_t datatype
and switch_thread_rwlock_rdlock function will be more featured? This allow
multiple threads make switch_lookup_timezone.


On Tue, Mar 3, 2015 at 10:20 PM, Michael Jerris <mike at jerris.com> wrote:

> 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 at 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 at 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 at 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 at 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?
>>
>>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20150309/3d7f0963/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: switch_load_timezones-mod.c
Type: text/x-csrc
Size: 1438 bytes
Desc: not available
Url : http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20150309/3d7f0963/attachment.bin 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list