From: Fredrik Tolf Date: Tue, 11 Jun 2024 23:24:44 +0000 (+0200) Subject: Improve perfproxy close behavior. X-Git-Url: http://git.dolda2000.com/gitweb/?a=commitdiff_plain;h=dc1b10b810fa36c126aba450616e9292b85798c5;hp=6e858b0f28a9443fb3a67121c828648c77a8078c;p=pdm.git Improve perfproxy close behavior. --- diff --git a/pdm/cli.py b/pdm/cli.py index 7cfa263..df04883 100644 --- a/pdm/cli.py +++ b/pdm/cli.py @@ -71,13 +71,19 @@ class client(object): if proto is not None: self.select(proto) + @property + def closed(self): + return self.sk is None + def close(self): """Close this connection""" - self.sk.close() + if self.sk is not None: + self.sk.close() + self.sk = None def fileno(self): """Return the file descriptor of the underlying socket.""" - return self.sk.fileno() + return self.sk.fileno() if self.sk else None def readline(self): """Read a single NL-terminated line and return it.""" @@ -197,7 +203,8 @@ class perfproxy(object): def close(self): if self.id is not None: - self.cl.run("unbind", self.id) + if not self.cl.closed: + self.cl.run("unbind", self.id) del self.cl.proxies[self.id] self.id = None