From: Anthony Minessale Date: Wed, 4 Sep 2013 23:09:53 +0000 (+0500) Subject: FS-5747 move reloadxml event outside of mutex X-Git-Tag: v1.5.6~181 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32437d041298bf141ac0f4b06447ad9fe26560e3;p=thirdparty%2Ffreeswitch.git FS-5747 move reloadxml event outside of mutex --- diff --git a/src/switch_xml.c b/src/switch_xml.c index d82435dd3f..de171a933e 100644 --- a/src/switch_xml.c +++ b/src/switch_xml.c @@ -2244,6 +2244,7 @@ SWITCH_DECLARE(switch_status_t) switch_xml_set_open_root_function(switch_xml_ope SWITCH_DECLARE(switch_xml_t) switch_xml_open_root(uint8_t reload, const char **err) { switch_xml_t root = NULL; + switch_event_t *event; switch_mutex_lock(XML_LOCK); @@ -2252,6 +2253,15 @@ SWITCH_DECLARE(switch_xml_t) switch_xml_open_root(uint8_t reload, const char **e } switch_mutex_unlock(XML_LOCK); + + if (root) { + if (switch_event_create(&event, SWITCH_EVENT_RELOADXML) == SWITCH_STATUS_SUCCESS) { + if (switch_event_fire(&event) != SWITCH_STATUS_SUCCESS) { + switch_event_destroy(&event); + } + } + } + return root; } @@ -2288,12 +2298,6 @@ SWITCH_DECLARE_NONSTD(switch_xml_t) __switch_xml_open_root(uint8_t reload, const } if (errcnt == 0) { - switch_event_t *event; - if (switch_event_create(&event, SWITCH_EVENT_RELOADXML) == SWITCH_STATUS_SUCCESS) { - if (switch_event_fire(&event) != SWITCH_STATUS_SUCCESS) { - switch_event_destroy(&event); - } - } r = switch_xml_root(); }