diff options
author | David Robillard <d@drobilla.net> | 2014-12-17 16:05:27 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-17 16:07:29 -0500 |
commit | a7067557107fc2f01586a88bb8b0a097914798ea (patch) | |
tree | c23f5f2e0386655c4d5e43ca714718e6bc1b76ac /libs/ardour/ardour/source.h | |
parent | 1fa9edd872bdbfe7651c822698235434ffe59540 (diff) |
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.
Diffstat (limited to 'libs/ardour/ardour/source.h')
-rw-r--r-- | libs/ardour/ardour/source.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h index e009e0ef51..18de40771c 100644 --- a/libs/ardour/ardour/source.h +++ b/libs/ardour/ardour/source.h @@ -51,6 +51,8 @@ class LIBARDOUR_API Source : public SessionObject Empty = 0x100, /* used for MIDI only */ }; + typedef Glib::Threads::Mutex::Lock Lock; + Source (Session&, DataType type, const std::string& name, Flag flags=Flag(0)); Source (Session&, const XMLNode&); @@ -69,8 +71,8 @@ class LIBARDOUR_API Source : public SessionObject void mark_for_remove(); - virtual void mark_streaming_write_started () {} - virtual void mark_streaming_write_completed () = 0; + virtual void mark_streaming_write_started (const Lock& lock) {} + virtual void mark_streaming_write_completed (const Lock& lock) = 0; virtual void session_saved() {} |