commit 471a790ee9e35bebc27d0a412c29fb7b48fc819e
parent 64478fc00c8d28134c5de11a6bc6d5385e61cbd1
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Wed, 11 Mar 2015 16:12:56 -0400
Fix Broken State Freeze Return Message
Diffstat:
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/Misc/Master.cpp b/src/Misc/Master.cpp
@@ -179,7 +179,7 @@ static Ports localports = {
Master *M = (Master*)d.obj;
std::atomic_thread_fence(std::memory_order_release);
M->frozenState = true;
- d.reply("/state_frozen");}},
+ d.reply("/state_frozen", "");}},
{"thaw_state:", rDoc("Internal Read-only Mode"), 0,
[](const char *,RtData &d) {
Master *M = (Master*)d.obj;
@@ -227,7 +227,7 @@ class DataObj:public rtosc::RtData
bToU = bToU_;
}
- virtual void reply(const char *path, const char *args, ...)
+ virtual void reply(const char *path, const char *args, ...) override
{
va_list va;
va_start(va,args);
@@ -236,14 +236,16 @@ class DataObj:public rtosc::RtData
reply(buffer);
va_end(va);
}
- virtual void reply(const char *msg)
+ virtual void reply(const char *msg) override
{
+ if(rtosc_message_length(msg, -1) == 0)
+ fprintf(stderr, "Warning: Invalid Rtosc message '%s'\n", msg);
bToU->raw_write(msg);
}
virtual void broadcast(const char *path, const char *args, ...) override{
va_list va;
va_start(va,args);
- reply("/broadcast");
+ reply("/broadcast", "");
char *buffer = bToU->buffer();
rtosc_vmessage(buffer,bToU->buffer_size(),path,args,va);
reply(buffer);
diff --git a/src/Misc/MiddleWare.cpp b/src/Misc/MiddleWare.cpp
@@ -827,7 +827,6 @@ MiddleWareImpl::~MiddleWareImpl(void)
void MiddleWareImpl::doReadOnlyOp(std::function<void()> read_only_fn)
{
- //Copy is needed as filename WILL get trashed during the rest of the run
uToB->write("/freeze_state","");
std::list<const char *> fico;