From e6fd98bb72e5dee899678c0a382c832580f75e82 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 12 Jun 2016 12:15:00 +1200 Subject: Start rolling out leak detection in netlib --- netlib/exceptions.py | 4 ++++ netlib/tcp.py | 11 +++++++++++ 2 files changed, 15 insertions(+) (limited to 'netlib') diff --git a/netlib/exceptions.py b/netlib/exceptions.py index 05f1054b..dec79c22 100644 --- a/netlib/exceptions.py +++ b/netlib/exceptions.py @@ -54,3 +54,7 @@ class TlsException(NetlibException): class InvalidCertificateException(TlsException): pass + + +class Timeout(TcpException): + pass diff --git a/netlib/tcp.py b/netlib/tcp.py index a8a68139..69dafc1f 100644 --- a/netlib/tcp.py +++ b/netlib/tcp.py @@ -967,3 +967,14 @@ class TCPServer(object): """ Called after server shutdown. """ + + def wait_for_silence(self, timeout=5): + start = time.time() + while 1: + if time.time() - start >= timeout: + raise exceptions.Timeout( + "%s service threads still alive" % + self.handler_counter.count + ) + if self.handler_counter.count == 0: + return -- cgit v1.2.3