mirror of http://gerrit.asterisk.org/asterisk
A dialog cannot be destroyed by the ao2_callback dialog_needdestroy because of a deadlock between the dialogs container lock and the RWLOCK of the events subscription list. * Create dialogs_to_destroy container to hold dialogs that will be destroyed. * Ensure that the event subscription callback will never happen with an invalid peer pointer by making the event callback removal the first thing in the peer destructor callback. NOTE: This particular deadlock will not happen with Asterisk 10, but some of the changes still apply. (closes issue ASTERISK-18747) Reported by: Gregory Hinton Nietsky Review: https://reviewboard.asterisk.org/r/1564/ ........ Merged revisions 343577 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 343578 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@343579 65c4cc65-6c06-0410-ace0-fbb531ad65f3certified/11.2
parent
f3c03ac1ec
commit
7a5f6684f0
Loading…
Reference in new issue