From: Brent Eagles Date: Fri, 28 Sep 2012 13:04:11 +0000 (+0000) Subject: Reset hangup flags on channels created through messages and cleanup globals X-Git-Tag: 13.0.0-beta1~2482 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=89d427ca2465e8dfa4f6f490bb884259092e0023;p=thirdparty%2Fasterisk.git Reset hangup flags on channels created through messages and cleanup globals in res_xmpp on unload. This patch fixes an issue where hangup flags were not being reset on a channel, affecting subsequent use of that channel. The patch also adds some additional cleanup to res_xmpp to fix an issue with reloading the module. (closes ASTERISK-20360) Reported by: Noah Engelberth Tested by: beagles Review: https://reviewboard.asterisk.org/r/2134/ ........ Merged revisions 374019 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374020 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/message.c b/main/message.c index 26fea1aca9..c04413dc8f 100644 --- a/main/message.c +++ b/main/message.c @@ -752,6 +752,10 @@ static void chan_cleanup(struct ast_channel *chan) if (msg_ds) { ast_channel_datastore_add(chan, msg_ds); } + /* + * Clear softhangup flags. + */ + ast_channel_clear_softhangup(chan, AST_SOFTHANGUP_ALL); ast_channel_unlock(chan); } diff --git a/res/res_xmpp.c b/res/res_xmpp.c index ed4c95618f..9e9d47c168 100644 --- a/res/res_xmpp.c +++ b/res/res_xmpp.c @@ -4204,6 +4204,8 @@ static int unload_module(void) ast_manager_unregister("JabberSend"); ast_custom_function_unregister(&jabberstatus_function); ast_custom_function_unregister(&jabberreceive_function); + aco_info_destroy(&cfg_info); + ao2_global_obj_release(globals); ast_cond_destroy(&message_received_condition); ast_mutex_destroy(&messagelock);