summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_playlist.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-05-01 16:19:51 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-05-01 16:19:51 +0000
commitac46e5edb41810ee9e741419bd283297deec9b8a (patch)
treeec0380a534c104ea81a36b57bbfe8bf5b19692e5 /libs/ardour/audio_playlist.cc
parent77be4a2742b593e74e6b0ca79a6aa990bacf3233 (diff)
remove recursive mutex from Playlist, replace with private regular mutex, force everyone to use Playlist::RegionLock to allow checking on lock handling if necessary; fix recursive use of lock in AudioPlaylist::read()
git-svn-id: svn://localhost/ardour2/branches/3.0@12131 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_playlist.cc')
-rw-r--r--libs/ardour/audio_playlist.cc8
1 files changed, 2 insertions, 6 deletions
diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc
index 9c304967dc..867f6f0ce4 100644
--- a/libs/ardour/audio_playlist.cc
+++ b/libs/ardour/audio_playlist.cc
@@ -186,16 +186,12 @@ AudioPlaylist::read (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, fr
its OK to block (for short intervals).
*/
-#ifdef HAVE_GLIB_THREADS_RECMUTEX
- Glib::Threads::RecMutex::Lock lm (region_lock);
-#else
- Glib::RecMutex::Lock rm (region_lock);
-#endif
+ Playlist::RegionLock rl (this, false);
/* Find all the regions that are involved in the bit we are reading,
and sort them by descending layer and ascending position.
*/
- boost::shared_ptr<RegionList> all = regions_touched (start, start + cnt - 1);
+ boost::shared_ptr<RegionList> all = regions_touched_locked (start, start + cnt - 1);
all->sort (ReadSorter ());
/* This will be a list of the bits of our read range that we have