From: Eric Price Date: Fri, 21 Aug 2009 16:13:43 +0000 (-0400) Subject: Clear stale fds out of cache in ajaxterm X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/commitdiff_plain/d73ef749af49dc4d0c6ecf239403fb8331abf817 Clear stale fds out of cache in ajaxterm svn path=/package_branches/invirt-web/ajaxterm-rebased/; revision=2757 --- diff --git a/code/main.py b/code/main.py index f42e1fd..ecb4363 100755 --- a/code/main.py +++ b/code/main.py @@ -419,9 +419,14 @@ console will suffer artifacts. term = self.atsessions[machine_id] else: print >>sys.stderr, "spawning new session for terminal to ",machine_id - term = self.atsessions[machine_id] = self.atmulti.create( + term = self.atmulti.create( ["ssh", "-e","none", "-l", machine.name, config.console.hostname] ) + # Clear out old sessions when fd is reused + for key in self.atsessions: + if self.atsessions[key] == term: + del self.atsessions[key] + self.atsessions[machine_id] = term if k: self.atmulti.proc_write(term,k) time.sleep(0.002)