[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: musings on session service mgmt
- From: Colin Walters <walters redhat com>
- To: Discussions about development for the Fedora desktop <fedora-desktop-list redhat com>
- Subject: Re: musings on session service mgmt
- Date: Fri, 04 Jan 2008 12:01:41 -0500
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:
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 ();
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]