summaryrefslogtreecommitdiffstats
path: root/src/socket/SocketListener.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-05-09 01:14:30 +0000
committerDavid Robillard <d@drobilla.net>2012-05-09 01:14:30 +0000
commitbaeb3c1872a989b69eb89fae04f93c59b06f258e (patch)
tree83720f9c7bad7ab26c910180d8caea2fd4cb7e70 /src/socket/SocketListener.cpp
parent4d46a232b30be99bc34e581cbc636345f77c6bc4 (diff)
downloadingen-baeb3c1872a989b69eb89fae04f93c59b06f258e.tar.gz
ingen-baeb3c1872a989b69eb89fae04f93c59b06f258e.tar.bz2
ingen-baeb3c1872a989b69eb89fae04f93c59b06f258e.zip
Simply event interface design and make only one pre-process thread.
This makes event pre-processing actually safe for multiple interfaces since multiple events will never be pre-processed simultaneously and the pre-process order is definitely the same as the execute order. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4323 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/socket/SocketListener.cpp')
-rw-r--r--src/socket/SocketListener.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/socket/SocketListener.cpp b/src/socket/SocketListener.cpp
index c2ff1c10..aeb50c5f 100644
--- a/src/socket/SocketListener.cpp
+++ b/src/socket/SocketListener.cpp
@@ -25,6 +25,7 @@
#include "sratom/sratom.h"
#include "../server/Engine.hpp"
+#include "../server/EventWriter.hpp"
#include "SocketListener.hpp"
#include "SocketInterface.hpp"
@@ -36,6 +37,8 @@ namespace Socket {
SocketListener::SocketListener(Ingen::Shared::World& world)
: _world(world)
{
+ set_name("SocketListener");
+
// Create server socket
_sock = socket(AF_UNIX, SOCK_STREAM, 0);
if (_sock == -1) {
@@ -91,8 +94,7 @@ SocketListener::_run()
// Make an new interface/thread to handle the connection
Server::Engine* engine = (Server::Engine*)_world.local_engine().get();
- SharedPtr<SocketInterface> iface(new SocketInterface(_world, conn));
- engine->add_event_source(iface);
+ new SocketInterface(_world, *engine->interface(), conn);
}
}