[Spice-devel] [PATCH spice-server 08/10] red_channel: add spice_channel_client_error
Yonit Halperin
yhalperi at redhat.com
Wed May 8 07:06:23 PDT 2013
spice_channel_client_error prints warning and shutdowns the
channel_client that hit the error.
This macro is useful for errors that are specific for one session
and that are unrecoverable only with respect to this session.
Prefer disconnecting a client over aborting when possible.
---
server/red_channel.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/server/red_channel.h b/server/red_channel.h
index f770510..ba299b6 100644
--- a/server/red_channel.h
+++ b/server/red_channel.h
@@ -328,6 +328,17 @@ struct RedChannel {
#endif
};
+/*
+ * When an error occurs over a channel, we treat it as a warning
+ * for spice-server and shutdown the channel.
+ */
+#define spice_channel_client_error(rcc, format, ...) \
+ do { \
+ spice_warning("rcc %p type %u id %u: " format, rcc, \
+ rcc->channel->type, rcc->channel->id, ## __VA_ARGS__); \
+ red_channel_client_shutdown(rcc); \
+ } while (0)
+
/* if one of the callbacks should cause disconnect, use red_channel_shutdown and don't
* explicitly destroy the channel */
RedChannel *red_channel_create(int size,
--
1.8.1.4
More information about the Spice-devel
mailing list