summaryrefslogtreecommitdiffstats
path: root/src/server/events/Move.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-09-24 04:52:23 +0000
committerDavid Robillard <d@drobilla.net>2011-09-24 04:52:23 +0000
commit9085d33b7600fd2721f0a2401a4e69830c457f84 (patch)
tree17631e4c88c8fd9d61045e23e84de5f19c005b7b /src/server/events/Move.cpp
parent0e310888809be1b55e6c24081f41f56bebf00f58 (diff)
downloadingen-9085d33b7600fd2721f0a2401a4e69830c457f84.tar.gz
ingen-9085d33b7600fd2721f0a2401a4e69830c457f84.tar.bz2
ingen-9085d33b7600fd2721f0a2401a4e69830c457f84.zip
Remove concept of "blocking" events in favour of store RWLock.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3488 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events/Move.cpp')
-rw-r--r--src/server/events/Move.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/server/events/Move.cpp b/src/server/events/Move.cpp
index 2e006b8c..ec2f763e 100644
--- a/src/server/events/Move.cpp
+++ b/src/server/events/Move.cpp
@@ -15,15 +15,18 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <glibmm/thread.h>
+
#include "raul/Path.hpp"
-#include "events/Move.hpp"
+
#include "ClientBroadcaster.hpp"
+#include "Driver.hpp"
#include "Engine.hpp"
-#include "NodeImpl.hpp"
#include "EngineStore.hpp"
+#include "NodeImpl.hpp"
#include "PatchImpl.hpp"
#include "Request.hpp"
-#include "Driver.hpp"
+#include "events/Move.hpp"
using namespace std;
using namespace Raul;
@@ -48,6 +51,8 @@ Move::~Move()
void
Move::pre_process()
{
+ Glib::RWLock::WriterLock lock(_engine.engine_store()->lock());
+
if (!_old_path.parent().is_parent_of(_new_path)) {
_error = PARENT_DIFFERS;
QueuedEvent::pre_process();