diff options
author | David Robillard <d@drobilla.net> | 2007-10-31 20:05:49 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-10-31 20:05:49 +0000 |
commit | 0051f92a4cc12e942c4330be63b262a085dd814b (patch) | |
tree | 31ce6eda91eec766a9e43332b55e81eac5f83fea /libs/ardour/base_audio_port.cc | |
parent | 1059b3f48e568b60d5e248d94fbb9110a2dd1a16 (diff) |
Truly atomic port mixdown function setting.
git-svn-id: svn://localhost/ardour2/trunk@2581 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/base_audio_port.cc')
-rw-r--r-- | libs/ardour/base_audio_port.cc | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/libs/ardour/base_audio_port.cc b/libs/ardour/base_audio_port.cc index 379e69c8e0..ceec4c1d3a 100644 --- a/libs/ardour/base_audio_port.cc +++ b/libs/ardour/base_audio_port.cc @@ -17,6 +17,7 @@ */ #include <cassert> +#include <glib.h> #include <ardour/base_audio_port.h> #include <ardour/audioengine.h> #include <ardour/data_type.h> @@ -75,11 +76,7 @@ BaseAudioPort::default_mixdown (const set<Port*>& ports, AudioBuffer* dest, nfra void BaseAudioPort::set_mixdown_function (void (*func)(const set<Port*>&, AudioBuffer*, nframes_t, nframes_t, bool)) { - /* caller should (but not must) hold process lock since this is an atomic operation on most platforms - and even if its not, it doesn't really matter. - */ - - _mixdown = func; + g_atomic_pointer_set(&_mixdown, func); } |