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.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@421882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes/97/197/1
Mark Michelson 11 years ago
parent 712907eec6
commit 16c96760e7

@ -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