[Spice-devel] [PATCH v2 13/24] Add more meaningful syslog reporting
Christophe de Dinechin
christophe at dinechin.org
Wed Feb 21 17:46:25 UTC 2018
From: Christophe de Dinechin <dinechin at redhat.com>
Signed-off-by: Christophe de Dinechin <dinechin at redhat.com>
---
src/spice-streaming-agent.cpp | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/src/spice-streaming-agent.cpp b/src/spice-streaming-agent.cpp
index 85d055b..5fef102 100644
--- a/src/spice-streaming-agent.cpp
+++ b/src/spice-streaming-agent.cpp
@@ -77,10 +77,13 @@ public:
std::lock_guard<std::mutex> stream_guard(mutex);
size_t expected = message.size(payload...);
size_t written = message.write(*this, payload...);
- return written == expected;
+ bool result = written == expected;
+ if (!result)
+ syslog(LOG_WARNING, "sent only %zu bytes out of %zu", written, expected);
+ return result;
}
- size_t write_all(const void *buf, const size_t len);
+ size_t write_all(const char *what, const void *buf, const size_t len);
private:
int streamfd = -1;
@@ -122,7 +125,7 @@ struct FormatMessage : Message<StreamMsgFormat, FormatMessage>
}
size_t write(Stream &stream, unsigned w, unsigned h, uint8_t c)
{
- return stream.write_all(this, sizeof(message_t));
+ return stream.write_all("FormatMessage", this, sizeof(message_t));
}
};
@@ -141,8 +144,8 @@ struct FrameMessage : Message<StreamMsgData, FrameMessage>
}
size_t write(Stream &stream, const void *frame, size_t length)
{
- return stream.write_all(this, sizeof(message_t))
- + stream.write_all(frame, length);
+ return stream.write_all("FrameMessage header", this, sizeof(message_t))
+ + stream.write_all("FrameMessage frame", frame, length);
}
};
@@ -179,8 +182,8 @@ struct X11CursorMessage : Message<StreamMsgCursorSet, X11CursorMessage>
size_t write(Stream &stream, XFixesCursorImage *cursor)
{
unsigned pixel_size = pixel_count(cursor) * sizeof(uint32_t);
- return stream.write_all(this, sizeof(message_t))
- + stream.write_all(pixels.get(), pixel_size);
+ return stream.write_all("X11CursorMessage header", this, sizeof(message_t))
+ + stream.write_all("X11CursorMessage pixels", pixels.get(), pixel_size);
}
void fill_pixels(XFixesCursorImage *cursor)
{
@@ -316,7 +319,7 @@ int Stream::read_command(bool blocking)
return 1;
}
-size_t Stream::write_all(const void *buf, const size_t len)
+size_t Stream::write_all(const char *what, const void *buf, const size_t len)
{
size_t written = 0;
while (written < len) {
@@ -325,12 +328,12 @@ size_t Stream::write_all(const void *buf, const size_t len)
if (errno == EINTR) {
continue;
}
- syslog(LOG_ERR, "write failed - %m");
+ syslog(LOG_ERR, "write %s failed - %m", what);
return l;
}
written += l;
}
- syslog(LOG_DEBUG, "write_all -- %u bytes written\n", (unsigned)written);
+ syslog(LOG_DEBUG, "write %s -- %u bytes written\n", what, (unsigned)written);
return written;
}
--
2.13.5 (Apple Git-94)
More information about the Spice-devel
mailing list