From a73bf04c4c1105ec731cbd92b7dec350b3d1bdb6 Mon Sep 17 00:00:00 2001 From: Jeff Forcier Date: Fri, 15 Oct 2021 19:30:20 -0400 Subject: Enhance language around SSHClient.close() --- paramiko/client.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/paramiko/client.py b/paramiko/client.py index 6bf479d4..6d1636be 100644 --- a/paramiko/client.py +++ b/paramiko/client.py @@ -441,11 +441,13 @@ class SSHClient(ClosingContextManager): """ Close this SSHClient and its underlying `.Transport`. + This should be called anytime you are done using the client object. + .. warning:: - Failure to do this may, in some situations, cause your Python - interpreter to hang at shutdown (often due to race conditions). - It's good practice to `close` your client objects anytime you're - done using them, instead of relying on garbage collection. + Paramiko registers garbage collection hooks that will try to + automatically close connections for you, but this is not presently + reliable. Failure to explicitly close your client after use may + lead to end-of-process hangs! """ if self._transport is None: return -- cgit v1.2.1