summaryrefslogtreecommitdiff
path: root/channels/sig_ss7.h
diff options
context:
space:
mode:
authorScott Griepentrog <sgriepentrog@digium.com>2015-01-29 23:02:41 +0000
committerScott Griepentrog <sgriepentrog@digium.com>2015-01-29 23:02:41 +0000
commitf7d23dfcc62c5491956570614365eb7ca39a7655 (patch)
treef206b5599bf24bca4b168c6af74339151e3ddb1a /channels/sig_ss7.h
parente8896ac00845850e9d88dadcd1d6dc30a476c1fc (diff)
stasis transfer: fix stasis bridge push race part two
When swapping a Local channel in place of one already in a bridge (to complete a bridge attended transfer), the channel that was swapped out can actually be hung up before the stasis bridge push callback executes on the independant transfer thread. This results in the stasis app loop dropping out and removing the control that has the the app name which the local replacement channel needs so it can re-enter stasis. To avoid this race condition a new push_peek callback has been added, and called from the ast_bridge_impart thread before it launches the independant thread that will complete the transfer. Now the stasis push_peek callback can copy the stasis app name before the swap channel can hang up. ASTERISK-24649 Review: https://reviewboard.asterisk.org/r/4382/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@431450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/sig_ss7.h')
0 files changed, 0 insertions, 0 deletions