From 537b4681403cd9dd29b753584e6c8317edf7ae3f Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Thu, 16 Oct 2014 16:59:50 +0100 Subject: [PATCH] Fix attaching with UNIX sockets Signed-off-by: Ben Firshman --- docker/client.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docker/client.py b/docker/client.py index 0da71b3c3a..4ff91d84a0 100644 --- a/docker/client.py +++ b/docker/client.py @@ -262,7 +262,16 @@ def _get_raw_response_socket(self, response): sock = response.raw._fp.fp.raw._sock else: sock = response.raw._fp.fp._sock - sock._response = response + try: + # Keep a reference to the response to stop it being garbage + # collected. If the response is garbage collected, it will close + # TLS sockets. + sock._response = response + except AttributeError: + # UNIX sockets can't have attributes set on them, but that's fine + # because we won't be doing TLS over them + pass + return sock def _stream_helper(self, response):