summaryrefslogtreecommitdiff
path: root/main/asterisk.c
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2012-09-11 21:17:53 +0000
committerMark Michelson <mmichelson@digium.com>2012-09-11 21:17:53 +0000
commit8963829390ca45b269c99144b1ffb96d17d9a3d3 (patch)
tree0dd0bba1774c982fd091c12c56303ef65737b509 /main/asterisk.c
parentae5aaefd88224c20d246087b3e4277b6c97545cb (diff)
Fix inability to shutdown gracefully due to an unending channel reference.
message.c makes use of a special message queue channel that exists in thread storage. This channel never goes away due to the fact that the taskprocessor used by message.c does not get shut down, meaning that it never ends the thread that stores the channel. This patch fixes the problem by shutting down the taskprocessor when Asterisk is shut down. In addition, the thread storage has a destructor that will release the channel reference when the taskprocessor is destroyed. (closes issue AST-937) Reported by Jason Parker Patches: AST-937.patch uploaded by Mark Michelson (License #5049) Tested by Jason Parker ........ Merged revisions 372885 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 372888 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/asterisk.c')
-rw-r--r--main/asterisk.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/main/asterisk.c b/main/asterisk.c
index 8e6d1a486..e8b9b34de 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -1702,6 +1702,7 @@ static int can_safely_quit(shutdown_nice_t niceness, int restart)
* (if in batch mode). really_quit happens to call it again when running
* the atexit handlers, otherwise this would be a bit early. */
ast_cdr_engine_term();
+ ast_msg_shutdown();
if (niceness == SHUTDOWN_NORMAL) {
time_t s, e;