The smart server leaks one thread (daemonic) for each connection.
* bzrlib/tests/test_smart_transport.py: (SmartTCPTests.start_server): Use stop_server for consistency. (SmartTCPTests.stop_server): Rename from tearDownServer for consistency. (TestServerSocketUsage.test_server_closes_listening_sock_on_shutdown_after_request): Keep track of the server URL explicitly.
* bzrlib/smart/server.py (SmartTCPServer.serve_conn): Mark the origin of the leak.