Merged revisions 105409 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Fri, 29 Feb 2008 23:36:46 +0000 (23:36 +0000)
committerRussell Bryant <russell@russellbryant.com>
Fri, 29 Feb 2008 23:36:46 +0000 (23:36 +0000)
commit796780679e6f939bf2474aa0b3a387cf40dee4c2
tree44fc83a57dc826758e673173182440ca6639d372
parent7422f0ee37ee3853778349708e04160af8f7669e
Merged revisions 105409 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r105409 | russell | 2008-02-29 17:34:32 -0600 (Fri, 29 Feb 2008) | 23 lines

Fix a major bug in autoservice.  There was a race condition in the handling of
the list of channels in autoservice.  The problem was that it was possible for
a channel to get removed from autoservice and destroyed, while the autoservice
thread was still messing with the channel.  This led to memory corruption, and
caused crashes.  This explains multiple backtraces I have seen that have
references to autoservice, but do to the nature of the issue (memory corruption),
could cause crashes in a number of areas.

(fixes the crash in BE-386)
(closes issue #11694)
(closes issue #11940)

The following issues could be related.  If you are the reporter of one of these,
please update to include this fix and try again.

(potentially fixes issue #11189)
(potentially fixes issue #12107)
(potentially fixes issue #11573)
(potentially fixes issue #12008)
(potentially fixes issue #11189)
(potentially fixes issue #11993)
(potentially fixes issue #11791)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/autoservice.c