Fix inability to shutdown gracefully due to an unending channel reference.
authorMark Michelson <mmichelson@digium.com>
Tue, 11 Sep 2012 21:17:53 +0000 (21:17 +0000)
committerMark Michelson <mmichelson@digium.com>
Tue, 11 Sep 2012 21:17:53 +0000 (21:17 +0000)
commit8963829390ca45b269c99144b1ffb96d17d9a3d3
tree0dd0bba1774c982fd091c12c56303ef65737b509
parentae5aaefd88224c20d246087b3e4277b6c97545cb
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
include/asterisk/_private.h
main/asterisk.c
main/message.c