Index: Lib/asyncore.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/asyncore.py,v retrieving revision 1.52 diff -c -r1.52 asyncore.py *** Lib/asyncore.py 14 Jun 2004 04:58:42 -0000 1.52 --- Lib/asyncore.py 30 Jun 2004 10:25:16 -0000 *************** *** 242,255 **** def set_reuse_addr(self): # try to re-use a server port if possible try: self.socket.setsockopt( ! socket.SOL_SOCKET, socket.SO_REUSEADDR, self.socket.getsockopt(socket.SOL_SOCKET, ! socket.SO_REUSEADDR) | 1 ) except socket.error: pass ! # ================================================== # predicates for select() # these are used as filters for the lists of sockets --- 242,261 ---- def set_reuse_addr(self): # try to re-use a server port if possible try: + # Windows SO_REUSEADDR is very broken (from a unixy perspective) + if sys.platform == 'win32': + reuse_constant = socket.SO_EXCLUSIVEADDRUSE + else: + reuse_constant = socket.SO_REUSEADDR + self.socket.setsockopt( ! socket.SOL_SOCKET, reuse_constant, self.socket.getsockopt(socket.SOL_SOCKET, ! reuse_constant) | 1 ) except socket.error: pass ! # ================================================== # predicates for select() # these are used as filters for the lists of sockets