diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2013-08-25 10:22:09 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2013-08-25 10:22:09 +1200 |
commit | 7428f954744725381ced7c273609ca14d767dfff (patch) | |
tree | 600d64ee9c217b0dab769cd00db12748c5c5aab8 /netlib/tcp.py | |
parent | 62edceee093dd54956ed5b623dfb4cb8c1309a16 (diff) | |
download | mitmproxy-7428f954744725381ced7c273609ca14d767dfff.tar.gz mitmproxy-7428f954744725381ced7c273609ca14d767dfff.tar.bz2 mitmproxy-7428f954744725381ced7c273609ca14d767dfff.zip |
Handle interrupted system call errors.
Diffstat (limited to 'netlib/tcp.py')
-rw-r--r-- | netlib/tcp.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/netlib/tcp.py b/netlib/tcp.py index 31e9a398..bee1f75b 100644 --- a/netlib/tcp.py +++ b/netlib/tcp.py @@ -376,7 +376,13 @@ class TCPServer: self.__is_shut_down.clear() try: while not self.__shutdown_request: - r, w, e = select.select([self.socket], [], [], poll_interval) + try: + r, w, e = select.select([self.socket], [], [], poll_interval) + except select.error, ex: + if ex[0] == 4: + continue + else: + raise if self.socket in r: request, client_address = self.socket.accept() t = threading.Thread( |