bridge_channel.c: Fix Deadlock when using Local channels and fax gateway
authorPirmin Walthert <infos@nappsoft.ch>
Wed, 30 May 2018 06:12:30 +0000 (08:12 +0200)
committerJoshua Colp <jcolp@digium.com>
Tue, 5 Jun 2018 11:37:54 +0000 (05:37 -0600)
commite078558038e2224b4473ea4bbe6f5ae304a0bebd
tree5eb971ce0663861540a7de8a95fd8ae40edcdafe
parent437ab418813226c1668a2856c39127e772a07737
bridge_channel.c: Fix Deadlock when using Local channels and fax gateway

ast_indicate is invoked with the bridge locked. As ast_indicate locks the
other end of the bridge as well this can lead to a deadlock in some situations.
(Especially when a different thread does the same in the reverse order).
This patch calls ast_indicate after unlocking the bridge which fixes the
deadlock. Calling ast_indicate with these parameters without locking the
bridge should be safe as this is done at different places without a
bridge lock.

ASTERISK-27094 #close
Reported-by: David Brillert

Change-Id: I5f86c1e2ce75b9929a36ab589b18c450e62ea35f
main/bridge_channel.c