diff options
author | George Joseph <gjoseph@digium.com> | 2017-09-01 04:17:02 -0600 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2017-09-06 13:00:42 -0500 |
commit | a824fcc8e88998bca12fb4043e86bbda1feeef08 (patch) | |
tree | 96e3deeacd68056063fe380bd11208cccf97400e /include/asterisk/format.h | |
parent | 3a6291b534256bd96dd7aac207d8825ae1609a7e (diff) |
stasis/control: Fix possible deadlock with swap channel
If an error occurs during a bridge impart it's possible that
the "bridge_after" callback might try to run before
control_swap_channel_in_bridge has been signalled to continue.
Since control_swap_channel_in_bridge is holding the control lock
and the callback needs it, a deadlock will occur.
* control_swap_channel_in_bridge now only holds the control
lock while it's actually modifying the control structure and
releases it while the bridge impart is running.
* bridge_after_cb is now tolerant of impart failures.
Change-Id: Ifd239aa93955b3eb475521f61e284fcb0da2c3b3
Diffstat (limited to 'include/asterisk/format.h')
0 files changed, 0 insertions, 0 deletions