[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] slirp: Port redirection option behave different
From: |
Taimoor Mirza |
Subject: |
Re: [Qemu-devel] [PATCH] slirp: Port redirection option behave differently on Linux and Windows |
Date: |
Wed, 14 Aug 2013 02:02:01 +0500 |
Thanks for reviewing the patch
On Wed, Aug 14, 2013 at 1:21 AM, Stefan Weil <address@hidden> wrote:
> Am 13.08.2013 22:00, schrieb Taimoor:
>> From: Taimoor Mirza <address@hidden>
>>
>> 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 <address@hidden>
>> ---
>> 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