After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 563117 - Orca should exit gracefully when gnome-session exits
Orca should exit gracefully when gnome-session exits
Status: RESOLVED OBSOLETE
Product: orca
Classification: Applications
Component: general
unspecified
Other All
: Normal normal
: 2.24.4
Assigned To: Willie Walker
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-12-03 14:25 UTC by Willie Walker
Modified: 2009-01-25 17:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Willie Walker 2008-12-03 14:25:55 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.
Comment 1 Willie Walker 2009-01-21 14:58:24 UTC
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.
Comment 2 Willie Walker 2009-01-23 18:28:14 UTC
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
Comment 3 Willie Walker 2009-01-25 17:01:36 UTC
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.