Rev 5298: Use a boolean for server.serving, a threading.Event() is not needed here. in file:///home/vila/src/bzr/experimental/leaking-tests/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Wed Jun 30 16:53:26 BST 2010
At file:///home/vila/src/bzr/experimental/leaking-tests/
------------------------------------------------------------
revno: 5298
revision-id: v.ladeuil+lp at free.fr-20100630155325-8xen1q8dhq0gpj27
parent: v.ladeuil+lp at free.fr-20100630153551-o00o5olc08l4hfin
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: propagate-exceptions
timestamp: Wed 2010-06-30 17:53:25 +0200
message:
Use a boolean for server.serving, a threading.Event() is not needed here.
-------------- next part --------------
=== modified file 'bzrlib/tests/http_server.py'
--- a/bzrlib/tests/http_server.py 2010-06-30 15:19:36 +0000
+++ b/bzrlib/tests/http_server.py 2010-06-30 15:53:25 +0000
@@ -344,7 +344,7 @@
Return True if we should proceed with this request, False if we should
not even touch a single byte in the socket !
"""
- return self.serving is not None and self.serving.isSet()
+ return self.serving
def handle_request(self):
request, client_address = self.get_request()
@@ -352,7 +352,7 @@
if self.verify_request(request, client_address):
self.process_request(request, client_address)
except:
- if self.serving is not None and self.serving.isSet():
+ if self.serving:
self.handle_error(request, client_address)
else:
# Exceptions raised while we shut down are just noise, but feel
@@ -371,14 +371,15 @@
self.server_address = self.socket.getsockname()
def serve(self, started):
- self.serving = threading.Event()
- self.serving.set()
+ # From now on we serve
+ self.serving = True
+ # We should be ready to shut down
self.is_shut_down.clear()
if 'threads' in tests.selftest_debug_flags:
sys.stderr.write('Starting %r\n' % (self.server_address,))
# We are listening and ready to accept connections
started.set()
- while self.serving.isSet():
+ while self.serving:
if 'threads' in tests.selftest_debug_flags:
sys.stderr.write('Accepting on %r\n' % (self.server_address,))
# Really a connection but the python framework is generic and
@@ -390,6 +391,7 @@
self.server_close()
if 'threads' in tests.selftest_debug_flags:
sys.stderr.write('Closed %r\n' % (self.server_address,))
+ # Shut down has been finalized, release the caller thread
self.is_shut_down.set()
def join_thread(self, thread, timeout=2):
@@ -412,7 +414,7 @@
return
# As soon as we stop serving, no more connection are accepted except
# one to get out of the blocking listen.
- self.serving.clear()
+ self.serving = False
# The server is listening for a last connection, let's give it:
last_conn = None
try:
=== modified file 'bzrlib/tests/https_server.py'
--- a/bzrlib/tests/https_server.py 2010-05-24 01:05:14 +0000
+++ b/bzrlib/tests/https_server.py 2010-06-30 15:53:25 +0000
@@ -44,7 +44,7 @@
Return True if we should proceed with this request, False if we should
not even touch a single byte in the socket !
"""
- serving = self.serving is not None and self.serving.isSet()
+ serving = self.serving
if serving:
request.do_handshake()
return serving
=== modified file 'bzrlib/tests/test_http.py'
--- a/bzrlib/tests/test_http.py 2010-06-30 15:19:36 +0000
+++ b/bzrlib/tests/test_http.py 2010-06-30 15:53:25 +0000
@@ -334,7 +334,7 @@
server.start_server()
self.assertTrue(server._httpd is not None)
self.assertTrue(server._httpd.serving is not None)
- self.assertTrue(server._httpd.serving.isSet())
+ self.assertTrue(server._httpd.serving)
def test_create_http_server_one_zero(self):
class RequestHandlerOneZero(http_server.TestingHTTPRequestHandler):
=== modified file 'bzrlib/tests/test_server.py'
--- a/bzrlib/tests/test_server.py 2010-06-30 15:35:51 +0000
+++ b/bzrlib/tests/test_server.py 2010-06-30 15:53:25 +0000
@@ -351,7 +351,7 @@
def __init__(self, sibling_class):
self.sibling_class = sibling_class
self.started = threading.Event()
- self.serving = threading.Event()
+ self.serving = None
self.stopped = threading.Event()
# We collect the resources used by the clients so we can release them
# when shutting down
@@ -368,12 +368,12 @@
self.server_address = self.socket.getsockname()
def serve(self):
- self.serving.set()
+ self.serving = True
self.stopped.clear()
# We are listening and ready to accept connections
self.started.set()
try:
- while self.serving.isSet():
+ while self.serving:
# Really a connection but the python framework is generic and
# call them requests
self.handle_request()
@@ -403,11 +403,11 @@
not even touch a single byte in the socket ! This is useful when we
stop the server with a dummy last connection.
"""
- return self.serving.isSet()
+ return self.serving
def handle_error(self, request, client_address):
# Stop serving and re-raise the last exception seen
- self.serving.clear()
+ self.serving = False
raise
def ignored_exceptions_during_shutdown(self, e):
@@ -600,7 +600,7 @@
# one to get out of the blocking listen.
self.set_ignored_exceptions(
self.server.ignored_exceptions_during_shutdown)
- self.server.serving.clear()
+ self.server.serving = False
if debug_threads():
sys.stderr.write('Server thread %s will be joined\n'
% (self._server_thread.name,))
More information about the bazaar-commits
mailing list