summaryrefslogtreecommitdiffstats
path: root/src/server/SocketServer.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-10-02 00:06:20 +0000
committerDavid Robillard <d@drobilla.net>2015-10-02 00:06:20 +0000
commitc2d083a0a904072f0ec5c067cdea45147301e5a2 (patch)
treeee7b4131ddc9657d6b11f80b7f8eff42b977fac3 /src/server/SocketServer.hpp
parent736546bfd97580e31297e8e000f188366a8afc09 (diff)
downloadingen-c2d083a0a904072f0ec5c067cdea45147301e5a2.tar.gz
ingen-c2d083a0a904072f0ec5c067cdea45147301e5a2.tar.bz2
ingen-c2d083a0a904072f0ec5c067cdea45147301e5a2.zip
Unregister socket clients on hangup.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5735 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/SocketServer.hpp')
-rw-r--r--src/server/SocketServer.hpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/SocketServer.hpp b/src/server/SocketServer.hpp
index a1811334..fc9fdeae 100644
--- a/src/server/SocketServer.hpp
+++ b/src/server/SocketServer.hpp
@@ -47,7 +47,15 @@ public:
}
~SocketServer() {
+ if (_writer) {
+ _engine.unregister_client(_writer);
+ }
+ }
+
+protected:
+ void on_hangup() {
_engine.unregister_client(_writer);
+ _writer.reset();
}
private: