summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-04-10 20:02:50 +0300
committerAlon Levy <alevy@redhat.com>2011-08-23 17:45:24 +0300
commitcd2c87da3eda0df76be2f8e5863b374ad5a8d314 (patch)
tree9d025560c1d7d4c4dc5affc0acda4e3976899cbb
parent6be2c77dd9a902bb4910f6a39fa3cd58b1651d3f (diff)
downloadspice-cd2c87da3eda0df76be2f8e5863b374ad5a8d314.tar.gz
spice-cd2c87da3eda0df76be2f8e5863b374ad5a8d314.tar.xz
spice-cd2c87da3eda0df76be2f8e5863b374ad5a8d314.zip
server/red_channel: workaround for fast client disconnect bug (TODO - real fix)
-rw-r--r--server/red_channel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/server/red_channel.c b/server/red_channel.c
index 529bd4e8..172dedd1 100644
--- a/server/red_channel.c
+++ b/server/red_channel.c
@@ -581,6 +581,11 @@ void red_channel_client_push(RedChannelClient *rcc)
red_channel_client_send(rcc);
}
+ if (rcc->send_data.item && !rcc->send_data.blocked) {
+ rcc->send_data.blocked = TRUE;
+ red_printf("ERROR: an item waiting to be sent and not blocked");
+ }
+
while ((pipe_item = red_channel_client_pipe_item_get(rcc))) {
red_channel_client_send_item(rcc, pipe_item);
}