[PATCH] web/server: disable address reuse option for BaseHTTPServer listening sockets

Patrick Mezard pmezard at gmail.com
Mon Feb 19 03:10:29 CST 2007


# HG changeset patch
# User Patrick Mezard <pmezard at gmail.com>
# Date 1171876139 -3600
# Node ID da2ceb74f081e12ab2dac5dc23795bbf3b604105
# Parent  6da3b6d95db4e9f210811cb11c5f2a913a8da788
web/server: disable address reuse option for BaseHTTPServer listening sockets.

Reusing address may be useful for testing purpose (BaseHTTPserver.py says so), but it makes debugging server startup more complicated.
* * *
test-http: check server address cannot be reused.

diff -r 6da3b6d95db4 -r da2ceb74f081 mercurial/hgweb/server.py
--- a/mercurial/hgweb/server.py	Mon Feb 19 09:59:37 2007 +0100
+++ b/mercurial/hgweb/server.py	Mon Feb 19 10:08:59 2007 +0100
@@ -197,6 +197,9 @@ def create_server(ui, repo):
                 pass
 
     class MercurialHTTPServer(object, _mixin, BaseHTTPServer.HTTPServer):
+        
+        allow_reuse_address = 0
+    
         def __init__(self, *args, **kargs):
             BaseHTTPServer.HTTPServer.__init__(self, *args, **kargs)
             self.accesslog = accesslog
diff -r 6da3b6d95db4 -r da2ceb74f081 tests/test-http
--- a/tests/test-http	Mon Feb 19 09:59:37 2007 +0100
+++ b/tests/test-http	Mon Feb 19 10:08:59 2007 +0100
@@ -6,6 +6,8 @@ hg commit -A -d '0 0' -m 1
 hg commit -A -d '0 0' -m 1
 hg --config server.uncompressed=True serve -p 20059 -d --pid-file=../hg1.pid
 hg serve -p 20060 -d --pid-file=../hg2.pid
+# Test server address cannot be reused
+hg serve -p 20060 2>&1 | sed -e 's/abort: cannot start server:.*/abort: cannot start server:/'
 cd ..
 cat hg1.pid hg2.pid >> $DAEMON_PIDS
 


More information about the Mercurial-devel mailing list