summaryrefslogtreecommitdiffstats
path: root/src/server/events/Get.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/Get.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/Get.hpp')
-rw-r--r--src/server/events/Get.hpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/events/Get.hpp b/src/server/events/Get.hpp
index ed68e3c0..b5f1ed4d 100644
--- a/src/server/events/Get.hpp
+++ b/src/server/events/Get.hpp
@@ -18,6 +18,8 @@
#ifndef INGEN_EVENTS_GET_HPP
#define INGEN_EVENTS_GET_HPP
+#include <glibmm/thread.h>
+
#include "QueuedEvent.hpp"
#include "NodeFactory.hpp"
#include "types.hpp"
@@ -47,10 +49,11 @@ public:
void post_process();
private:
- const Raul::URI _uri;
- GraphObjectImpl* _object;
- const PluginImpl* _plugin;
- NodeFactory::Plugins _plugins;
+ const Raul::URI _uri;
+ const GraphObjectImpl* _object;
+ const PluginImpl* _plugin;
+ NodeFactory::Plugins _plugins;
+ Glib::RWLock::ReaderLock _lock;
};
} // namespace Server