Author: mjordan
Date: Sat Sep 20 20:15:40 2014
New Revision: 423641

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=423641
Log:
main/channel: Unlock channel in off-nominal path

In r423414 (13) / r423415 (trunk), an API call that determines if a format
capability structure is empty was added. This returns true if the format
capability structure is completely empty or "none". A check for this was added
in channel.c's set_format call. Unfortunately, when this check was true, it
returned from the function while still holding the channel lock. This caused
the CDR unit tests - which have a tendency to create channels with no formats -
to deadlock. Whoops.

This patch unlocks the channel on the off-nominal path.

Modified:
    branches/13/main/channel.c

Modified: branches/13/main/channel.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/main/channel.c?view=diff&rev=423641&r1=423640&r2=423641
==============================================================================
--- branches/13/main/channel.c (original)
+++ branches/13/main/channel.c Sat Sep 20 20:15:40 2014
@@ -5328,6 +5328,7 @@
 
        cap_native = ast_channel_nativeformats(chan);
        if (ast_format_cap_empty(cap_native)) {
+               ast_channel_unlock(chan);
                ast_log(LOG_ERROR, "Unable to set format because channel %s 
supports no formats\n",
                                ast_channel_name(chan));
                return -1;


-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to