From cd2c87da3eda0df76be2f8e5863b374ad5a8d314 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Sun, 10 Apr 2011 20:02:50 +0300 Subject: server/red_channel: workaround for fast client disconnect bug (TODO - real fix) --- server/red_channel.c | 5 +++++ 1 file changed, 5 insertions(+) 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); } -- cgit