Files
asterisk/apps
Richard Mudgett aa4e8c4ab3 Add channel lock protection around translation path setup.
Most callers of ast_channel_make_compatible() happen before the channels
enter a two party bridge.  With the new bridging framework, two party
bridging technologies may also call ast_channel_make_compatible() when
there is more than one thread involved with the two channels.

* Added channel lock protection in set_format() and
ast_channel_make_compatible_helper() when dealing with the channel's
native formats while setting up a translation path.

* Fixed best_src_fmt and best_dst_fmt usage consistency in
ast_channel_make_compatible_helper().  The call to
ast_translator_best_choice() got them backwards.

* Updated some callers of ast_channel_make_compatible() and the function
documentation.  There is actually a difference between the two channels
passed in.

* Fixed the deadlock potential in res_fax.c dealing with
ast_channel_make_compatible().  The deadlock potential was already there
anyway because res_fax called ast_channel_make_compatible() with chan
locked.

(closes issue ASTERISK-22542)
Reported by: Matt Jordan

Review: https://reviewboard.asterisk.org/r/2915/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@401239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-18 16:52:32 +00:00
..
2012-10-14 21:45:16 +00:00
2012-10-14 21:45:16 +00:00
2013-08-29 22:45:15 +00:00
2013-05-29 02:26:17 +00:00
2012-10-14 21:45:16 +00:00
2012-09-21 17:14:59 +00:00
2012-11-07 19:15:26 +00:00
2013-08-06 14:44:45 +00:00
2013-08-30 16:26:32 +00:00
2012-11-07 19:15:26 +00:00
2013-02-15 13:38:12 +00:00
2012-06-15 16:20:16 +00:00
2013-08-29 22:45:15 +00:00