summaryrefslogtreecommitdiffstats
path: root/src/server/events/CreateNode.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-09-24 03:22:30 +0000
committerDavid Robillard <d@drobilla.net>2011-09-24 03:22:30 +0000
commit74a711e0d1cdb5c505a227dc9b1925657f1e778d (patch)
tree78f93b26e4154c76892cb0160414c4effbfc730e /src/server/events/CreateNode.hpp
parent2be10b0b6f2c0f01870208e9d18e5db87e5dfb88 (diff)
downloadingen-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.hpp9
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