From: James Clarke Date: Tue, 17 Apr 2018 14:10:58 +0000 (+0100) Subject: slirp: Send window updates to guest after window was closed X-Git-Tag: v3.0.0-rc0~120^2~3 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b0060110aaaf3d2b7a0d2fc938e87848d188837c;p=users%2Fdwmw2%2Fqemu.git slirp: Send window updates to guest after window was closed If the receive window presented to the guest closes, slirp should send a window update once the window reopens sufficiently, rather than forcing the guest to send a window probe, which can take several seconds. Signed-off-by: James Clarke Signed-off-by: Samuel Thibault --- diff --git a/slirp/slirp.c b/slirp/slirp.c index 4f29753444..5c3bd6163f 100644 --- a/slirp/slirp.c +++ b/slirp/slirp.c @@ -678,13 +678,13 @@ void slirp_pollfds_poll(GArray *pollfds, int select_error) /* continue; */ } else { ret = sowrite(so); + if (ret > 0) { + /* Call tcp_output in case we need to send a window + * update to the guest, otherwise it will be stuck + * until it sends a window probe. */ + tcp_output(sototcpcb(so)); + } } - /* - * XXXXX If we wrote something (a lot), there - * could be a need for a window update. - * In the worst case, the remote will send - * a window probe to get things going again - */ } /*