diff options
author | David Robillard <d@drobilla.net> | 2012-12-21 02:52:53 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-12-21 02:52:53 +0000 |
commit | 595e4f539b73a46c428a2e84b5e0f37e0f48a9b8 (patch) | |
tree | 741480d365eb1d172a30395349148476529f5830 /src | |
parent | 853dee67639d73178f036c192ea5d98d74fb39e3 (diff) | |
download | ingen-595e4f539b73a46c428a2e84b5e0f37e0f48a9b8.tar.gz ingen-595e4f539b73a46c428a2e84b5e0f37e0f48a9b8.tar.bz2 ingen-595e4f539b73a46c428a2e84b5e0f37e0f48a9b8.zip |
Send a null terminator on bundle boundaries so reading replies from the socket is simple.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4869 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src')
-rw-r--r-- | src/socket/SocketWriter.cpp | 10 | ||||
-rw-r--r-- | src/socket/SocketWriter.hpp | 2 |
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; } |