Specifically, the simple fix for this is something like:
=== modified file 'bzrlib/smart/server.py' --- bzrlib/smart/server.py 2007-12-13 22:22:58 +0000 +++ bzrlib/smart/server.py 2008-04-18 21:18:54 +0000 @@ -59,6 +59,10 @@ self._socket_error = socket_error self._socket_timeout = socket_timeout self._server_socket = socket.socket() + reuse_addr = getattr(socket, 'SO_REUSEADDR', None) + if reuse_addr is not None: + self._server_socket.setsockopt(socket.SOL_SOCKET, + socket.SO_REUSEADDR, 1) self._server_socket.bind((host, port)) self._sockname = self._server_socket.getsockname() self.port = self._sockname[1]
Specifically, the simple fix for this is something like:
=== modified file 'bzrlib/ smart/server. py' smart/server. py 2007-12-13 22:22:58 +0000 smart/server. py 2008-04-18 21:18:54 +0000
self. _socket_ error = socket_error
self. _socket_ timeout = socket_timeout
self. _server_ socket = socket.socket() socket. setsockopt( socket. SOL_SOCKET, SO_REUSEADDR, 1)
self. _server_ socket. bind((host, port))
self. _sockname = self._server_ socket. getsockname( )
--- bzrlib/
+++ bzrlib/
@@ -59,6 +59,10 @@
+ reuse_addr = getattr(socket, 'SO_REUSEADDR', None)
+ if reuse_addr is not None:
+ self._server_
+ socket.
self.port = self._sockname[1]