diff options
author | David Robillard <d@drobilla.net> | 2011-09-24 03:22:30 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-09-24 03:22:30 +0000 |
commit | 74a711e0d1cdb5c505a227dc9b1925657f1e778d (patch) | |
tree | 78f93b26e4154c76892cb0160414c4effbfc730e /src/server/events/CreateNode.hpp | |
parent | 2be10b0b6f2c0f01870208e9d18e5db87e5dfb88 (diff) | |
download | ingen-74a711e0d1cdb5c505a227dc9b1925657f1e778d.tar.gz ingen-74a711e0d1cdb5c505a227dc9b1925657f1e778d.tar.bz2 ingen-74a711e0d1cdb5c505a227dc9b1925657f1e778d.zip |
Use store lock to avoid race conditions with Get and create/delete events.
Get really shouldn't be reading the store (via ObjectSender) in the post
processing thread at all, avoiding that entirely would be a better solution.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3484 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events/CreateNode.hpp')
-rw-r--r-- | src/server/events/CreateNode.hpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/events/CreateNode.hpp b/src/server/events/CreateNode.hpp index bbaf830b..47f86622 100644 --- a/src/server/events/CreateNode.hpp +++ b/src/server/events/CreateNode.hpp @@ -19,9 +19,13 @@ #define INGEN_EVENTS_CREATENODE_HPP #include <string> -#include "QueuedEvent.hpp" + +#include <glibmm/thread.h> + #include "ingen/Resource.hpp" +#include "QueuedEvent.hpp" + namespace Ingen { namespace Server { @@ -61,7 +65,8 @@ private: bool _node_already_exists; bool _polyphonic; - Resource::Properties _properties; + Resource::Properties _properties; + Glib::RWLock::WriterLock _lock; }; } // namespace Server |