summaryrefslogtreecommitdiff
path: root/libs/ardour/diskstream.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-03-19 19:48:21 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-03-19 19:48:21 +0000
commitfc26b49ac5e177857a155a567ff9f966f330e261 (patch)
treecf2dce4859b641ce6009ebcdc67ad71c8556a0ab /libs/ardour/diskstream.cc
parent36d88c8e494c1997c05d122fa03c00d0e8b6e401 (diff)
kill glib-induced abort caused by asymmetric lock/unlock of diskstream state lock
git-svn-id: svn://localhost/ardour2/trunk@1627 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/diskstream.cc')
-rw-r--r--libs/ardour/diskstream.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/diskstream.cc b/libs/ardour/diskstream.cc
index 135718bb52..c9c11cc92d 100644
--- a/libs/ardour/diskstream.cc
+++ b/libs/ardour/diskstream.cc
@@ -114,6 +114,7 @@ Diskstream::init (Flag f)
playback_distance = 0;
_read_data_count = 0;
_write_data_count = 0;
+ commit_should_unlock = false;
pending_overwrite = false;
overwrite_frame = 0;
@@ -214,7 +215,9 @@ Diskstream::prepare ()
void
Diskstream::recover ()
{
- state_lock.unlock();
+ if (commit_should_unlock) {
+ state_lock.unlock();
+ }
_processed = false;
}