summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/socket/SocketWriter.cpp10
-rw-r--r--src/socket/SocketWriter.hpp2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/socket/SocketWriter.cpp b/src/socket/SocketWriter.cpp
index f66606be..19a1c713 100644
--- a/src/socket/SocketWriter.cpp
+++ b/src/socket/SocketWriter.cpp
@@ -85,5 +85,15 @@ SocketWriter::write(const LV2_Atom* msg)
return true;
}
+void
+SocketWriter::bundle_end()
+{
+ AtomWriter::bundle_end();
+
+ // Send a NULL byte to indicate end of bundle
+ const char end[] = { 0 };
+ send(fd(), end, 1, MSG_NOSIGNAL);
+}
+
} // namespace Socket
} // namespace Ingen
diff --git a/src/socket/SocketWriter.hpp b/src/socket/SocketWriter.hpp
index cbdb2602..d6ba5dd3 100644
--- a/src/socket/SocketWriter.hpp
+++ b/src/socket/SocketWriter.hpp
@@ -45,6 +45,8 @@ public:
bool write(const LV2_Atom* msg);
+ void bundle_end();
+
int fd() { return _socket->fd(); }
Raul::URI uri() const { return _uri; }