From a7067557107fc2f01586a88bb8b0a097914798ea Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 17 Dec 2014 16:05:27 -0500 Subject: Fix various MIDI locking issues. Attempt to make mistakes much less likely in the future by statically requiring caller to pass scoped locks where necessary. --- libs/ardour/midi_playlist_source.cc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'libs/ardour/midi_playlist_source.cc') diff --git a/libs/ardour/midi_playlist_source.cc b/libs/ardour/midi_playlist_source.cc index cd5362c3da..587bc7b12f 100644 --- a/libs/ardour/midi_playlist_source.cc +++ b/libs/ardour/midi_playlist_source.cc @@ -122,7 +122,8 @@ MidiPlaylistSource::length (framepos_t) const } framecnt_t -MidiPlaylistSource::read_unlocked (Evoral::EventSink& dst, +MidiPlaylistSource::read_unlocked (const Lock& lock, + Evoral::EventSink& dst, framepos_t /*position*/, framepos_t start, framecnt_t cnt, MidiStateTracker*) const @@ -137,7 +138,8 @@ MidiPlaylistSource::read_unlocked (Evoral::EventSink& dst, } framecnt_t -MidiPlaylistSource::write_unlocked (MidiRingBuffer&, +MidiPlaylistSource::write_unlocked (const Lock&, + MidiRingBuffer&, framepos_t, framecnt_t) { @@ -147,33 +149,33 @@ MidiPlaylistSource::write_unlocked (MidiRingBuffer&, } void -MidiPlaylistSource::append_event_unlocked_beats(const Evoral::Event& /*ev*/) +MidiPlaylistSource::append_event_beats(const Glib::Threads::Mutex::Lock& /*lock*/, const Evoral::Event& /*ev*/) { - fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_unlocked_beats() called - should be impossible") << endmsg; + fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_beats() called - should be impossible") << endmsg; abort(); /*NOTREACHED*/ } void -MidiPlaylistSource::append_event_unlocked_frames(const Evoral::Event& /* ev */, framepos_t /*source_start*/) +MidiPlaylistSource::append_event_frames(const Glib::Threads::Mutex::Lock& /*lock*/, const Evoral::Event& /* ev */, framepos_t /*source_start*/) { - fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_unlocked_frames() called - should be impossible") << endmsg; + fatal << string_compose (_("programming error: %1"), "MidiPlaylistSource::append_event_frames() called - should be impossible") << endmsg; abort(); /*NOTREACHED*/ } void -MidiPlaylistSource::load_model (bool, bool) +MidiPlaylistSource::load_model (const Glib::Threads::Mutex::Lock&, bool) { /* nothing to do */ } void -MidiPlaylistSource::destroy_model () +MidiPlaylistSource::destroy_model (const Glib::Threads::Mutex::Lock&) { /* nothing to do */ } void -MidiPlaylistSource::flush_midi () +MidiPlaylistSource::flush_midi (const Lock& lock) { } -- cgit v1.2.3