[asterisk-dev] [Code Review] 3326: Sorcery: Do not apply the same wizard to an object type twice; Automatically apply sorcery configuration when sorcery is opened.

rmudgett reviewboard at asterisk.org
Thu Mar 20 17:01:46 CDT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3326/#review11309
-----------------------------------------------------------


There are two calls to ast_sorcery_apply_default() in bucket.c:ast_bucket_init() that check the return value.  You should update these call to handle the new return codes.


/branches/12/include/asterisk/sorcery.h
<https://reviewboard.asterisk.org/r/3326/#comment20951>

    s/the default/the config/



/branches/12/main/sorcery.c
<https://reviewboard.asterisk.org/r/3326/#comment20952>

    Should a duplicate wizard be considered a failure here?  If so we should:
    res = sorcery_apply_wizard_mapping()
    if (res != success)
       break


- rmudgett


On March 17, 2014, 3:31 p.m., Mark Michelson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3326/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 3:31 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> When performing some realtime tests, I noticed that the AMI command PJSIPShowEndpoints was listing all of my endpoints twice. This is because ast_sorcery_apply_config() was being called twice from res_pjsip code, once when initializing system configuration, and once again when initializing the rest of the configuration data. This patch aims to fix the problem on two fronts:
> 
> 1) Remove the ast_sorcery_apply_config() calls from the PJSIP code entirely in favor of having sorcery automatically apply configuration for the module when sorcery is opened. This reduces the chance of accidentally attempting to apply the same configuration twice. I also removed the call to ast_sorcery_apply_config from res_mwi_external since it is no longer necessary either.
> 
> 2) Adjust sorcery_apply_wizard_mapping() not to apply the same wizard to an object type more than once, just in case someone does make the error of calling ast_sorcery_apply_config() multiple times for the same object type.
> 
> 
> Diffs
> -----
> 
>   /branches/12/tests/test_sorcery_realtime.c 410696 
>   /branches/12/tests/test_sorcery_astdb.c 410696 
>   /branches/12/tests/test_sorcery.c 410696 
>   /branches/12/res/res_pjsip/pjsip_configuration.c 410696 
>   /branches/12/res/res_pjsip/config_system.c 410696 
>   /branches/12/res/res_mwi_external.c 410696 
>   /branches/12/main/sorcery.c 410696 
>   /branches/12/include/asterisk/sorcery.h 410696 
>   /branches/12/configs/sorcery.conf.sample 410696 
> 
> Diff: https://reviewboard.asterisk.org/r/3326/diff/
> 
> 
> Testing
> -------
> 
> My tests of retrieving data from realtime now get the expected objects. I don't have any automated tests to post yet because the realtime testsuite is a work in progress.
> 
> 
> Thanks,
> 
> Mark Michelson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140320/755bbffa/attachment-0001.html>


More information about the asterisk-dev mailing list