Fixed Confbridge file recording deadlock and appending.
authorKevin Harwell <kharwell@digium.com>
Mon, 18 Feb 2013 22:23:52 +0000 (22:23 +0000)
committerKevin Harwell <kharwell@digium.com>
Mon, 18 Feb 2013 22:23:52 +0000 (22:23 +0000)
commit4c76dbc8b29089af496e8c6677dd53386b81fca7
tree77900aaa08db793d7b5bbb04b0e97b00853df9bc
parentd4d1d10307c317bbe36ac33ef6b5836ca27776f3
Fixed Confbridge file recording deadlock and appending.

A deadlock occurred after starting/stopping and then restarting a confbridge
recording.  Upon starting a recording a record thread is created that holds a
lock until just before exiting.  Stopping the recording does not stop/exit the
thread or release the lock.  The thread waits until recording begins again.
Starting a stopped recording signals the thread to continue and start recording
again.  However restarting the recording also created another record thread
resulting in a deadlock.  The fix was to make sure the record thread was only
created once.

Also it was noted that filenames for the recordings were being concatenated for
each start/stop.  This was fixed by creating a new file for each conference
session and appending the actual recorded data within the file (e.g. passing
the 'a' option to MixMonitor).

(issue AST-1088)
Reported by: John Bigelow
Review: http://reviewboard.digium.internal/r/374/
........

Merged revisions 381702 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_confbridge.c