From 32437d041298bf141ac0f4b06447ad9fe26560e3 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 5 Sep 2013 04:09:53 +0500 Subject: [PATCH] FS-5747 move reloadxml event outside of mutex --- src/switch_xml.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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(); }