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 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel