GNOME Bugzilla – Bug 563117
Orca should exit gracefully when gnome-session exits
Last modified: 2009-01-25 17:01:36 UTC
orca.py:_onChildrenChanged currently watches for the desktop child count to go to 0. When this happens, Orca exits because it is an indication that the session is ending. However, users have reported that the bonobo-activation-server and espeak-synthesis-driver are sometimes both left running, and have to be killed manually. We should see if there is a signal or some other thing we can do to prevent these stray processes from sticking around.
Marking as something we should try to do for 2.24.4 if we can figure out the magic. Maybe there's a D-Bus signal we can look for.
Just to follow up on this. We *should* already be all set in this department, but I will need to do some more testing and verification. (13:21:16) WillieWalker: Quick question (I hope): what's the best way for Orca to know that the desktop has gone away and it should clean up stuff? (13:21:41) WillieWalker: (graceful logout as well as Ctrl+Alt+Backspace, for example) (13:21:44) halfline: orca should get on to the session bus and then do set_exit_on_disconnect (FALSE) (13:21:49) halfline: then listen for the Disconnected signal (13:22:04) WillieWalker: Awesome. I'll look that up. (13:22:49) WillieWalker: By default, is exit_on_disconnect TRUE (i.e., it is forced to exit?) (13:22:51) halfline: gconfd does it if you want a pretty straight forward example: http://svn.gnome.org/svn/gconf/trunk/gconf/gconfd.c (13:23:00) halfline: right (13:23:08) halfline: the default is to call _exit(1) (13:23:18) halfline: when the app gets disconnected from the bus (13:23:39) WillieWalker: Gotcha. OK. So, if other things, like gnome-speech and gnome-mag are started via Bonobo activation, should they exit as well? Those are what I'm worried about not cleaning up. (13:23:42) halfline: (which may be good enough if you don't have clean up to do) (13:24:00) halfline: bonobo-activation-server does the same trick where it exits if the bus goes away (13:24:13) WillieWalker: AWESOME. I think I might be all set, then. (13:24:30) WillieWalker: Thanks much! (13:24:44) halfline: if orca already handles SIGTERM you can probably just raise(SIGTERM) on Disconnected
I beat the heck out of my machine this morning to see if I could cause excess processes to hang around when the desktop session ended, either gracefully or through means such as the Ctrl+Alt+Backspace three finger salute. The use of D-Bus in GNOME 2.24 seems to have made this bug obsolete. Closing.