dbus ChangeLog,1.924,1.925 configure.in,1.137,1.138
David Zeuthen
david at freedesktop.org
Mon Nov 14 12:51:27 PST 2005
Update of /cvs/dbus/dbus
In directory gabe:/tmp/cvs-serv32588
Modified Files:
ChangeLog configure.in
Log Message:
2005-11-14 David Zeuthen <davidz at redhat.com>
Patch from Timo Hoenig <thoenig at suse.de>.
* bus/bus.c: I've recently investigated why the automatic reload
of configuration files does not work as expected.
Currently, reloading configuration files does only work when
running dbus-daemon with --nodaemon. If we are running as daemon
we're hitting a dnotify bug once we fork the process.
We're initializing the dnotify fds before calling fork(). Once
the child process forked it does still have the fds (and they
still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
getting SIGIO as changes are made to the configuration files.
The attached patch moves the initialization of the dnotify fds to
process_config_postinit(). This is safe for all current code
paths and solves the dnotify disfunction. If we're running
dbus-daemon as daemon the fds for dnotify are now being
initialized after fork() for the child process.
* configure.in: The current configure.in check for dnotify probes
'x$target_os' for being 'xlinux-gnu'. I've changed the check to
match for 'xlinux', too. Additionally I have adapted the configure
option's style to match with the others.
Index: ChangeLog
===================================================================
RCS file: /cvs/dbus/dbus/ChangeLog,v
retrieving revision 1.924
retrieving revision 1.925
diff -u -d -r1.924 -r1.925
--- ChangeLog 14 Nov 2005 02:53:29 -0000 1.924
+++ ChangeLog 14 Nov 2005 20:51:25 -0000 1.925
@@ -1,3 +1,30 @@
+2005-11-14 David Zeuthen <davidz at redhat.com>
+
+ Patch from Timo Hoenig <thoenig at suse.de>.
+
+ * bus/bus.c: I've recently investigated why the automatic reload
+ of configuration files does not work as expected.
+
+ Currently, reloading configuration files does only work when
+ running dbus-daemon with --nodaemon. If we are running as daemon
+ we're hitting a dnotify bug once we fork the process.
+
+ We're initializing the dnotify fds before calling fork(). Once
+ the child process forked it does still have the fds (and they
+ still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
+ getting SIGIO as changes are made to the configuration files.
+
+ The attached patch moves the initialization of the dnotify fds to
+ process_config_postinit(). This is safe for all current code
+ paths and solves the dnotify disfunction. If we're running
+ dbus-daemon as daemon the fds for dnotify are now being
+ initialized after fork() for the child process.
+
+ * configure.in: The current configure.in check for dnotify probes
+ 'x$target_os' for being 'xlinux-gnu'. I've changed the check to
+ match for 'xlinux', too. Additionally I have adapted the configure
+ option's style to match with the others.
+
2005-11-14 Robert McQueen <robot101 at debian.org>
* python/decorators.py, python/service.py: Add a new argument to the
Index: configure.in
===================================================================
RCS file: /cvs/dbus/dbus/configure.in,v
retrieving revision 1.137
retrieving revision 1.138
diff -u -d -r1.137 -r1.138
--- configure.in 20 Oct 2005 14:56:24 -0000 1.137
+++ configure.in 14 Nov 2005 20:51:25 -0000 1.138
@@ -64,6 +64,7 @@
AC_ARG_ENABLE(mono_docs, [ --enable-mono-docs build mono docs],enable_mono_docs=$enableval,enable_mono_docs=no)
AC_ARG_ENABLE(python, [ --enable-python build python bindings],enable_python=$enableval,enable_python=auto)
AC_ARG_ENABLE(selinux, [ --enable-selinux build with SELinux support],enable_selinux=$enableval,enable_selinux=auto)
+AC_ARG_ENABLE(dnotify, [ --enable-dnotify build with dnotify support (linux only)],enable_dnotify=$enableval,enable_dnotify=auto)
AC_ARG_WITH(xml, [ --with-xml=[libxml/expat] XML library to use])
AC_ARG_WITH(init-scripts, [ --with-init-scripts=[redhat] Style of init scripts to install])
@@ -829,21 +830,21 @@
fi
# dnotify checks
-if test x$target_os = xlinux-gnu; then
- AC_ARG_ENABLE(dnotify,
- [ --disable-dnotify Disable using dnotify on Linux],
- [case "${enableval}" in
- yes) dnotify=false ;;
- no) dnotify=true ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --disable-dnotify) ;;
- esac],[dnotify=true])
+if test x$enable_dnotify = xno ; then
+ have_dnotify=no;
+else
+ if test x$target_os = xlinux-gnu -o x$target_os = xlinux; then
+ have_dnotify=yes;
+ else
+ have_dnotify=no;
+ fi
fi
+
dnl check if dnotify backend is enabled
-if test x$dnotify = xtrue; then
+if test x$have_dnotify = xyes; then
AC_DEFINE(DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX,1,[Use dnotify on Linux])
fi
-
#### Set up final flags
DBUS_CLIENT_CFLAGS=
DBUS_CLIENT_LIBS=
@@ -1421,6 +1422,7 @@
Building GLib bindings: ${have_glib}
Building Python bindings: ${have_python}
Building SELinux support: ${have_selinux}
+ Building dnotify support: ${have_dnotify}
Building Mono bindings: ${enable_mono}
Building Mono docs: ${enable_mono_docs}
Building GTK+ tools: ${have_gtk}
More information about the dbus-commit
mailing list