summaryrefslogtreecommitdiff
path: root/include/asterisk/bridge.h
diff options
context:
space:
mode:
authorKevin Harwell <kharwell@digium.com>2015-07-08 14:56:10 -0500
committerKevin Harwell <kharwell@digium.com>2015-07-13 12:57:56 -0500
commitc8555235195ed1deb37f5e27390b0ed4da329dc5 (patch)
tree45d9a85a0858cf8e0dc9daeab658dcc3f6ef3f08 /include/asterisk/bridge.h
parent66b57b10f65bee8600c01a0fc03fb491edb7ad76 (diff)
bridge.c: Fixed race condition during attended transfer
During an attended transfer a thread is started that handles imparting the bridge channel. From the start of the thread to when the bridge channel is ready exists a gap that can potentially cause problems (for instance, the channel being swapped is hung up before the replacement channel enters the bridge thus stopping the transfer). This patch adds a condition that waits for the impart thread to get to a point of acceptable readiness before allowing the initiating thread to continue. ASTERISK-24782 Reported by: John Bigelow Change-Id: I08fe33a2560da924e676df55b181e46fca604577
Diffstat (limited to 'include/asterisk/bridge.h')
-rw-r--r--include/asterisk/bridge.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asterisk/bridge.h b/include/asterisk/bridge.h
index 8243a1ddb..8858cf02c 100644
--- a/include/asterisk/bridge.h
+++ b/include/asterisk/bridge.h
@@ -509,6 +509,8 @@ enum ast_bridge_impart_flags {
* \param features Bridge features structure.
* \param flags defined by enum ast_bridge_impart_flags.
*
+ * \note The given bridge must be unlocked when calling this function.
+ *
* \note The features parameter must be NULL or obtained by
* ast_bridge_features_new(). You must not dereference features
* after calling even if the call fails.