Skip to content
Snippets Groups Projects
  1. Mar 15, 2010
  2. Mar 14, 2010
  3. Mar 13, 2010
  4. Mar 12, 2010
  5. Mar 11, 2010
  6. Mar 10, 2010
  7. Mar 09, 2010
  8. Mar 08, 2010
  9. Mar 07, 2010
  10. Mar 06, 2010
    • Russell Bryant's avatar
      Fix a crash in SIP blind transfer handling found by an automated external test. · 0c45fc4e
      Russell Bryant authored
      The first real test added to the external test suite found a pretty nasty crash
      that occurred in Asterisk trunk.  The crash was due to a race condition between
      the REFER handling and channel destruction in the channel thread.  After the
      transfer has been completed, we go back to the transferrer channel and try to
      lock it so we can fire off a CEL event.  However, there was no guarantee that
      the channel was still around at that point since it's racing against the channel
      thread.
      
      Since ast_channel is a reference counted object, the fix is simple.  The code
      unlocks the transferrer channel before finally completing the transfer with
      an async goto.  At this point the channel thread is going to start call tear
      down and the channel will eventually be destroyed.  To ensure that the channel
      is valid when we want to fire off the CEL event, increase the channel's
      reference count.
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@251137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      0c45fc4e
  11. Mar 05, 2010
Loading