On Fri, Jan 29, 2021 at 02:31:49PM +0000, Hafiz Abid Qadeer wrote: > We observed slow responses on a host forwarded port on Windows. Investigation > revealed that qemu_fd_register was being called with fd=-1 and this caused > g_poll in qemu_poll_ns timing out. I tracked this behavior to following > commit: > 748f8f4 slirp: replace qemu_set_nonblock() > > @@ -482,7 +483,8 @@ void tcp_connect(struct socket *inso) > tcp_close(sototcpcb(so)); /* This will sofree() as well */ > return; > } > - qemu_set_nonblock(s); > + slirp_set_nonblock(s); > + so->slirp->cb->register_poll_fd(so->s); > > It seems that calling register_poll_fd with so->s instead of s may be a typo. > Changing it back to s solves this issue. The commit 748f8f4 made similar > change in tcp_fconnect but I have not touched it. > > Signed-off-by: Hafiz Abid Qadeer <[email protected]> > --- > src/tcp_subr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-)
Thanks for your suggested patch, however, slirp is now spun off into its own standalone project. You can submit patches using merge requests at https://gitlab.freedesktop.org/slirp/libslirp QEMU will periodically pull in updates from slirp. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
