Add what I think is a missing lock when reading controllables.
git-svn-id: svn://localhost/ardour2/branches/3.0@12958 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
1708ab55b9
commit
e09e185e3e
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include <glibmm/fileutils.h>
|
#include <glibmm/fileutils.h>
|
||||||
#include <glibmm/miscutils.h>
|
#include <glibmm/miscutils.h>
|
||||||
|
#include <glibmm/thread.h>
|
||||||
|
|
||||||
#include "pbd/controllable_descriptor.h"
|
#include "pbd/controllable_descriptor.h"
|
||||||
#include "pbd/error.h"
|
#include "pbd/error.h"
|
||||||
@ -284,6 +285,12 @@ GenericMidiControlProtocol::_send_feedback ()
|
|||||||
in a single jack_midi_event_write then some bridges will only pass the
|
in a single jack_midi_event_write then some bridges will only pass the
|
||||||
first on to ALSA.
|
first on to ALSA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
Glib::Mutex::Lock lm (controllables_lock, Glib::TRY_LOCK);
|
||||||
|
if (!lm.locked ()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (MIDIControllables::iterator r = controllables.begin(); r != controllables.end(); ++r) {
|
for (MIDIControllables::iterator r = controllables.begin(); r != controllables.end(); ++r) {
|
||||||
MIDI::byte* end = (*r)->write_feedback (buf, bsize);
|
MIDI::byte* end = (*r)->write_feedback (buf, bsize);
|
||||||
if (end != buf) {
|
if (end != buf) {
|
||||||
|
Loading…
Reference in New Issue
Block a user