Fix a locking inversion in MixMonitor.

We need to unlock the audiohook before trying to lock
the channel, since the correct locking order is channel
then audiohook.
........

Merged revisions 421882 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/42/42/1
Mark Michelson 11 years ago
parent 33835e17a0
commit dcfffce66d

@ -743,14 +743,15 @@ static void *mixmonitor_thread(void *obj)
"File: %s\r\n",
ast_channel_name(mixmonitor->autochan->chan),
mixmonitor->filename);
ast_audiohook_unlock(&mixmonitor->audiohook);
ast_channel_lock(mixmonitor->autochan->chan);
if (ast_test_flag(mixmonitor, MUXFLAG_BEEP_STOP)) {
ast_stream_and_wait(mixmonitor->autochan->chan, "beep", "");
}
ast_channel_unlock(mixmonitor->autochan->chan);
ast_audiohook_unlock(&mixmonitor->audiohook);
ast_autochan_destroy(mixmonitor->autochan);
/* Datastore cleanup. close the filestream and wait for ds destruction */

Loading…
Cancel
Save