This patch fixes some pretty significant problems with how app_chanspy handles
commitf6c0465eeb18a48d7a7d91be7e813fa4d3f800ec
authorrussell <russell@614ede4d-c843-0410-af14-a771ab80d22e>
Mon, 25 Feb 2008 23:42:42 +0000 (25 23:42 +0000)
committerrussell <russell@614ede4d-c843-0410-af14-a771ab80d22e>
Mon, 25 Feb 2008 23:42:42 +0000 (25 23:42 +0000)
tree1694d8472d863b673a47f656fc4aa806a8c2da88
parent4d63f5435918b9cd264e3a9c92ef965beaf6573f
This patch fixes some pretty significant problems with how app_chanspy handles
pointers to channels that are being spied upon.  It was very likely that a
crash would occur if the channel being spied upon hung up.  This was because
the current ast_channel handling _requires_ that the object is locked or else
it could disappear at any time (except in the owning channel thread).  So, this
patch uses some channel datastore magic on the spied upon channel to be able to
detect if and when the channel goes away.
(closes issue #11877)
(patch written by me, but thanks to kpfleming for the idea, and to file for review)

git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@104106 614ede4d-c843-0410-af14-a771ab80d22e
apps/app_chanspy.c