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/Get.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/Get.hpp')
-rw-r--r-- | src/server/events/Get.hpp | 11 |
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 |