All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Tokarev <mjt@tls.msk.ru>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Sebastian Ottlik <ottlik@fzi.de>,
	qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
	Anthony Liguori <aliguori@us.ibm.com>
Subject: Re: [Qemu-devel] [PATCH RFC] Do not set SO_REUSEADDR on Windows
Date: Thu, 05 Sep 2013 11:36:18 +0400	[thread overview]
Message-ID: <52283472.9090505@msgid.tls.msk.ru> (raw)
In-Reply-To: <5227450E.3050902@siemens.com>

04.09.2013 18:34, Jan Kiszka wrote:
> On 2013-09-04 16:27, Paolo Bonzini wrote:
>> Il 04/09/2013 16:22, Sebastian Ottlik ha scritto:
>>> This patchset disabels all use of SO_REUSEADDR on Windows. On Windows systems
>>> the default behavior is equivalent to SO_REUSEADDR on other operating
>>> systems. SO_REUSEADDR can still be set but results in undesired bahvior
>>> instead. It may even lead to situations were system behavior is
>>> unspecified. More information on this can be found at:
>>> http://msdn.microsoft.com/en-us/library/windows/desktop/ms740621.aspx
>>>
>>> I originally encountered this issue when accidentally launching two QEMU
>>> instances with identical GDB ports at the same time. In which case QEMU won't
>>> fail as one might expect. I am sending this as RFC as I A) only checked that
>>> this fixes issues for the GDB server and B) am not sure if this is the correct
>>> format for this patchset.
>>>
>>> gdbstub: do not set SO_REUSEADDR on Windows
>>> net: do not set SO_REUSEADDR on Windows
>>> slirp: do not set SO_REUSEADDR on Windows
>>> util: do not set SO_REUSEADDR on Windows
>>
>> Makes sense.
>>
>> Can you make a different patch that introduces a new function
>> qemu_set_reuseaddr is include/qemu/sockets.h & util/oslib-*, and makes
>> it a stub for Windows?

Maybe a better approach will be to introduce something like
qemu_[stream_]listen_socket(int family, sockaddr_t *sa, int salen) function
which opens and prepares a socket with all necessary platform-dependent
stuff?

> Yeah, this is definitely better then. IIRC, Michael has some version of
> patch 3 in his queue right now - should be dropped in this light.

It's been pulled by Anthony yesterday so it is a bit too late now.
But the change is trivial, and can be reworked easily.

Thanks,

/mjt

  reply	other threads:[~2013-09-05  7:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-04 14:22 [Qemu-devel] [PATCH RFC] Do not set SO_REUSEADDR on Windows Sebastian Ottlik
2013-09-04 14:22 ` [Qemu-devel] [PATCH RFC 1/4] gdbstub: do " Sebastian Ottlik
2013-09-04 14:22 ` [Qemu-devel] [PATCH RFC 2/4] net: " Sebastian Ottlik
2013-09-04 14:22 ` [Qemu-devel] [PATCH RFC 3/4] slirp: " Sebastian Ottlik
2013-09-04 14:22 ` [Qemu-devel] [PATCH RFC 4/4] util: " Sebastian Ottlik
2013-09-04 14:27 ` [Qemu-devel] [PATCH RFC] Do " Paolo Bonzini
2013-09-04 14:34   ` Jan Kiszka
2013-09-05  7:36     ` Michael Tokarev [this message]
2013-09-04 14:35   ` Sebastian Ottlik
2013-09-04 14:41   ` Peter Maydell
2013-09-04 17:31     ` Stefan Weil
2013-09-04 17:40       ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52283472.9090505@msgid.tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=aliguori@us.ibm.com \
    --cc=jan.kiszka@siemens.com \
    --cc=ottlik@fzi.de \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.