From 22c6d6d182b5480dc6833e455bb3e2188d66af2a Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Fri, 25 Jul 2008 09:18:56 +0200 Subject: Fixing subprocess/listener handling --- portato/gui/__init__.py | 19 ++++++++----------- portato/plistener.py | 5 +++++ 2 files changed, 13 insertions(+), 11 deletions(-) (limited to 'portato') diff --git a/portato/gui/__init__.py b/portato/gui/__init__.py index 20bcba6..0df890c 100644 --- a/portato/gui/__init__.py +++ b/portato/gui/__init__.py @@ -17,15 +17,12 @@ from .exception_handling import register_ex_handler def run (): from .windows.splash import SplashScreen - try: - s = SplashScreen(_("Loading Backend")) - register_ex_handler() - s.show() - from .windows.main import MainWindow - m = MainWindow(s) - s.hide() - m.main() - except KeyboardInterrupt: - pass + s = SplashScreen(_("Loading Backend")) - get_listener().close() + register_ex_handler() + s.show() + + from .windows.main import MainWindow + m = MainWindow(s) + s.hide() + m.main() diff --git a/portato/plistener.py b/portato/plistener.py index a45a17e..fde54fc 100644 --- a/portato/plistener.py +++ b/portato/plistener.py @@ -48,6 +48,7 @@ class PListener (object): self._rw.V() data = string.split("\0") + debug("Listner received: %s", data) if data[0] == "notify": self.do_notify(*data[1:]) @@ -63,6 +64,10 @@ class PListener (object): self._sig.remove() self._rw.remove() + self._mem = None + self._sig = None + self._rw = None + def do_cmd (self, cmdlist): """Starts a command as the user. -- cgit v1.2.3-54-g00ecf