]> git.ipfire.org Git - thirdparty/asterisk.git/commit
Multiple revisions 365006,365068
authorTerry Wilson <twilson@digium.com>
Wed, 2 May 2012 17:29:54 +0000 (17:29 +0000)
committerTerry Wilson <twilson@digium.com>
Wed, 2 May 2012 17:29:54 +0000 (17:29 +0000)
commit9405bf72122ca55d95a7e813417445a6666fb72c
tree7663a8772af1db9ef70b7cbf63f7f89c0503afde
parent5e96c0877a9f3fa0ab479b58580dd23d29eee4ec
Multiple revisions 365006,365068

........
  r365006 | twilson | 2012-05-02 10:49:03 -0500 (Wed, 02 May 2012) | 12 lines

  Fix a CEL LINKEDID_END race and local channel linkedids

  This patch has the ;2 channel inherit the linkedid of the ;1 channel and fixes
  the race condition by no longer scanning the channel list for "other" channels
  with the same linkedid. Instead, cel.c has an ao2 container of linkedid strings
  and uses the refcount of the string as a counter of how many channels with the
  linkedid exist. Not only does this eliminate the race condition, but it also
  allows us to look up the linkedid by the hashed key instead of traversing the
  entire channel list.

  Review: https://reviewboard.asterisk.org/r/1895/
........
  r365068 | twilson | 2012-05-02 12:02:39 -0500 (Wed, 02 May 2012) | 11 lines

  Don't leak a ref if out of memory and can't link the linkedid

  If the ao2_link fails, we are most likely out of memory and bad things
  are going to happen. Before those bad things happen, make sure to clean
  up the linkedid references.

  This patch also adds a comment explaining why linkedid can't be passed
  to both local channel allocations and combines two ao2_ref calls into 1.

  Review: https://reviewboard.asterisk.org/r/1895/
........

Merged revisions 365006,365068 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@365083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_local.c
main/cel.c