FS-5747 move reloadxml event outside of mutex

This commit is contained in:
Anthony Minessale 2013-09-05 04:09:53 +05:00
parent a5f2176ea4
commit 32437d0412
1 changed files with 10 additions and 6 deletions

View File

@ -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();
}