[prev in list] [next in list] [prev in thread] [next in thread]
List: fedora-desktop-list
Subject: Re: musings on session service mgmt
From: Colin Walters <walters () redhat ! com>
Date: 2008-01-04 17:01:41
Message-ID: 1199466101.6858.28.camel () space-ghost ! verbum ! private
[Download RAW message or body]
On Fri, 2008-01-04 at 11:37 -0500, David Zeuthen wrote:
> On Fri, 2008-01-04 at 11:35 -0500, Colin Walters wrote:
> > Oh I see, I was wrong; yes David was talking about automatically killing
> > all processes. That is wrong, I agree with you.
>
> Care to explain why this is wrong?
See my other mail.
> > As Havoc said, having them connect to X11 or DBus, or using a babysitter
> > that does is the right way.
>
> So in order to avoid having a process linger we now need to patch it?
> Good luck with that....
Don't need luck in the original case you were talking about, just an
editor and commit access to the upstream =)
Here's a patch for GConf:
["gconf-dbus-exit-with-session.patch" (gconf-dbus-exit-with-session.patch)]
Index: configure.in
===================================================================
--- configure.in (revision 2500)
+++ configure.in (working copy)
@@ -131,7 +131,7 @@
AC_ARG_ENABLE(gtk, [ --enable-gtk Enable GTK+ support (for \
gconf-sanity-check) [default=auto]], enable_gtk="$enableval", enable_gtk=auto)
-PKGCONFIG_MODULES='glib-2.0 > 2.9.0 gmodule-2.0 >= 2.7.0 gobject-2.0 >= 2.7.0 \
ORBit-2.0 >= 2.4.0' +PKGCONFIG_MODULES='glib-2.0 > 2.9.0 gmodule-2.0 >= 2.7.0 \
gobject-2.0 >= 2.7.0 ORBit-2.0 >= 2.4.0 dbus-1 >= 1.0' \
PKGCONFIG_MODULES_WITH_XML="$PKGCONFIG_MODULES libxml-2.0" \
PKGCONFIG_MODULES_WITH_GTK=" $PKGCONFIG_MODULES gtk+-2.0 >= 2.0.0" \
PKGCONFIG_MODULES_WITH_XML_AND_GTK=" $PKGCONFIG_MODULES gtk+-2.0 \
libxml-2.0"
Index: gconf/gconfd.c
===================================================================
--- gconf/gconfd.c (revision 2500)
+++ gconf/gconfd.c (working copy)
@@ -27,6 +27,8 @@
#include <config.h>
+#include <dbus/dbus.h>
+
#include "gconf-internals.h"
#include "gconf-sources.h"
#include "gconf-listeners.h"
@@ -597,6 +599,8 @@
#endif
CORBA_Environment ev;
CORBA_ORB orb;
+ DBusConnection *connection;
+ DBusError dbus_error;
gchar* logname;
const gchar* username;
gchar* ior;
@@ -732,6 +736,13 @@
gconf_set_daemon_ior (ior);
CORBA_free (ior);
+ dbus_error_init (&dbus_error);
+ /* Now connect to D-BUS so we get scoped to the session */
+ connection = dbus_bus_get (DBUS_BUS_SESSION, &dbus_error);
+ if (dbus_error_is_set (&dbus_error)) {
+ gconf_log (GCL_ERR, _("Failed to connect to session bus: %s"), \
dbus_error.message); + }
+
gconfd_dir = gconf_get_daemon_dir ();
lock_dir = gconf_get_lock_dir ();
--
Fedora-desktop-list mailing list
Fedora-desktop-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-desktop-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic