Merge branch 'master' of git.dolda2000.com:/srv/git/r/pdm
[pdm.git] / pdm / cli.py
index d88ebbd..d16cbbd 100644 (file)
@@ -47,6 +47,9 @@ class client(object):
     def close(self):
         self.sk.close()
 
+    def fileno(self):
+        return self.sk.fileno()
+
     def readline(self):
         while True:
             p = self.buf.find("\n")
@@ -150,8 +153,13 @@ class perfproxy(object):
             except: pass
 
     def close(self):
-        self.cl.run("unbind", self.id)
-        del self.cl.proxies[self.id]
+        if self.id is not None:
+            self.cl.run("unbind", self.id)
+            del self.cl.proxies[self.id]
+            self.id = None
+
+    def __del__(self):
+        self.close()
 
     def __enter__(self):
         return self