diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-02-25 18:29:57 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-02-25 18:29:57 (GMT) |
commit | 15ecda2e0a2d7a06d5afe42ac42b3a1d9913c011 (patch) | |
tree | 253d84a54e8f1b49d6141900bc1fda37c57f3a1c /src/jarabe/model | |
parent | 921e5df97b3239db1ae6ee93748def336805f938 (diff) |
Give time for atexit to execute when closing the emulator #435
Diffstat (limited to 'src/jarabe/model')
-rw-r--r-- | src/jarabe/model/session.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/jarabe/model/session.py b/src/jarabe/model/session.py index 8927260..b6e3a59 100644 --- a/src/jarabe/model/session.py +++ b/src/jarabe/model/session.py @@ -18,6 +18,7 @@ import gtk import dbus import os import signal +import sys from sugar import session from sugar import env @@ -65,10 +66,16 @@ class SessionManager(session.SessionManager): gtk.main_quit() def _close_emulator(self): + gtk.main_quit() + if os.environ.has_key('SUGAR_EMULATOR_PID'): pid = int(os.environ['SUGAR_EMULATOR_PID']) os.kill(pid, signal.SIGTERM) + # Need to call this ASAP so the atexit handlers get called before we get + # killed by the X (dis)connection + sys.exit() + def get_session_manager(): global _session_manager |