summaryrefslogtreecommitdiff
path: root/libs/backends/coreaudio/coreaudio_backend.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-03-29 18:15:20 +0200
committerRobin Gareus <robin@gareus.org>2018-03-29 18:15:20 +0200
commit37df98d0af21525ee8f260fd4261fb2a2eca42b7 (patch)
tree60d9207bde75141675b9bfca2a676ec799fe1076 /libs/backends/coreaudio/coreaudio_backend.h
parent5132a6c2ebfe2559535919d87e73c4e5a58228c7 (diff)
CoreAudio/MIDI: add locks for port-registration
CoreMIDI ports are dynamic. When dis/connecting a device CoreAudio's AudioHardware-PropertyListener triggers a callback which can add/remove ports. This can not happen concurrently with processing, but it may happen concurrently with a user creating tracks using Ardour's UI and/or session-load/setup.
Diffstat (limited to 'libs/backends/coreaudio/coreaudio_backend.h')
-rw-r--r--libs/backends/coreaudio/coreaudio_backend.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/backends/coreaudio/coreaudio_backend.h b/libs/backends/coreaudio/coreaudio_backend.h
index d1d6e97189..b0a9727ae3 100644
--- a/libs/backends/coreaudio/coreaudio_backend.h
+++ b/libs/backends/coreaudio/coreaudio_backend.h
@@ -485,6 +485,7 @@ class CoreAudioBackend : public AudioBackend {
std::vector<PortConnectData *> _port_connection_queue;
pthread_mutex_t _port_callback_mutex;
+ pthread_mutex_t _port_registration_mutex;
bool _port_change_flag;
void port_connect_callback (const std::string& a, const std::string& b, bool conn) {