From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51774) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VHU7E-0003Ne-9J for qemu-devel@nongnu.org; Thu, 05 Sep 2013 03:36:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VHU78-0003ll-9e for qemu-devel@nongnu.org; Thu, 05 Sep 2013 03:36:32 -0400 Received: from isrv.corpit.ru ([86.62.121.231]:41516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VHU78-0003l8-0y for qemu-devel@nongnu.org; Thu, 05 Sep 2013 03:36:26 -0400 Message-ID: <52283472.9090505@msgid.tls.msk.ru> Date: Thu, 05 Sep 2013 11:36:18 +0400 From: Michael Tokarev MIME-Version: 1.0 References: <1378304540-1431-1-git-send-email-ottlik@fzi.de> <52274357.6010509@redhat.com> <5227450E.3050902@siemens.com> In-Reply-To: <5227450E.3050902@siemens.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFC] Do not set SO_REUSEADDR on Windows List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Paolo Bonzini , Sebastian Ottlik , qemu-devel@nongnu.org, Stefan Hajnoczi , Anthony Liguori 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