Skip to content
Snippets Groups Projects
Commit 772985be authored by Wenpeng Song's avatar Wenpeng Song
Browse files

Fix a dead lock and remove some duplicated indications during un-hold

Fix a dead lock during un-hold procedure under race condition by
  * Remove duplicated indications for un-hold.
  * Narrow the usage of channel lock inside `chan_voicemngr_modify_codec
  * Remove the extra redirection for the case from: https://dev.iopsys.eu/voice/asterisk-chan-
    voicemngr/-/merge_requests/26 as it is not needed for now.

The dead lock is due to `ast_channel_get_by_name` used by `chan_voicemngr_modify_codec`(which
called during ssrc related indications) https://dev.iopsys.eu/voice/asterisk-chan-
voicemngr/-/blob/devel/src/channels/chan_voicemngr.c#L774 has a channel lock from
`ast_channel_by_name_cb`. And indications for different channels also have locks from
`ast_indicate_data`. They may waiting for each other during some massive indications between
bridged channels.


(cherry picked from commit 1e3a03a8)
parent 469efd0a
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment