Thanks for reviewing the patch On Wed, Aug 14, 2013 at 1:21 AM, Stefan Weil <s...@weilnetz.de> wrote: > Am 13.08.2013 22:00, schrieb Taimoor: >> From: Taimoor Mirza <tmi...@codesourcery.com> >> >> port redirection code uses SO_REUSEADDR socket option before binding to >> host port. Behavior of SO_REUSEADDR is different on Windows and Linux. >> Relaunching QEMU with same host and guest port redirection values on Linux >> throws error but on Windows it does not throw any error. >> Problem is discussed in >> http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg03089.html >> >> Signed-off-by: Taimoor Mirza <tmi...@codesourcery.com> >> --- >> slirp/socket.c | 2 ++ >> 1 files changed, 2 insertions(+), 0 deletions(-) >> >> diff --git a/slirp/socket.c b/slirp/socket.c >> index 8e8819c..23780b3 100644 >> --- a/slirp/socket.c >> +++ b/slirp/socket.c >> @@ -627,7 +627,9 @@ tcp_listen(Slirp *slirp, uint32_t haddr, u_int hport, >> uint32_t laddr, >> addr.sin_port = hport; >> >> if (((s = qemu_socket(AF_INET,SOCK_STREAM,0)) < 0) || >> +#ifdef _WIN32 > > Shouldn't this be replaced by #ifndef _WIN32? Yes it should be. I am resending the patch > >> (qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)) < >> 0) || >> +#endif >> (bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) || >> (listen(s,1) < 0)) { >> int tmperrno = errno; /* Don't clobber the real reason we >> failed */ >
-Taimoor