summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2011-04-08 15:23:17 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2011-04-08 15:23:17 +0100
commitc4b76acc6bce04507b04b210326d4a3841dbe2d8 (patch)
tree0af146778f2e81255ae8a692ae6a7675fb403cab
parent74072479a05dbf9208a5f92495e7eb32f471428c (diff)
parent4a0e7d29a491a865d02063e6879bf8d779e1452a (diff)
Merge branch 'dbus-1.4'
Conflicts: NEWS
-rw-r--r--NEWS12
-rw-r--r--bus/activation.c22
-rw-r--r--configure.ac4
-rw-r--r--doc/dbus-specification.xml26
4 files changed, 40 insertions, 24 deletions
diff --git a/NEWS b/NEWS
index 0ba97624..41465b65 100644
--- a/NEWS
+++ b/NEWS
@@ -12,9 +12,11 @@ D-Bus 1.5.0 (UNRELEASED)
paths that are not part of the object tree, and UnknownInterface for calls
to unknown interfaces in the bus daemon (fd.o #34527, Lennart Poettering)
-D-Bus 1.4.8 (UNRELEASED)
+D-Bus 1.4.8 (2011-04-08)
==
+The "It's like the beginning of a lobster" release.
+
• Rename configure.in to configure.ac, and update it to modern conventions
(fd.o #32245; Javier Jardón, Simon McVittie)
• Correctly give XDG_DATA_HOME priority over XDG_DATA_DIRS (fd.o #34496,
@@ -28,6 +30,12 @@ D-Bus 1.4.8 (UNRELEASED)
booleans when sending them (fd.o #16338, NB#223152; Simon McVittie)
• Add UnknownObject, UnknownInterface, UnknownProperty and PropertyReadOnly
errors to dbus-shared.h (fd.o #34527, Lennart Poettering)
+ • Break up a huge conditional in config-parser so gcov can produce coverage
+ data (fd.o #10887, Simon McVittie)
+ • List which parts of the Desktop Entry specification are applicable to
+ .service files (fd.o #19159, Sven Herzberg)
+ • Don't suppress service activation if two services have the same Exec=
+ (fd.o #35750, Colin Walters)
• Windows:
· Avoid the name ELEMENT_TYPE due to namespace-pollution from winioctl.h
(Andre Heinecke)
@@ -37,6 +45,8 @@ D-Bus 1.4.8 (UNRELEASED)
D-Bus 1.4.6 (2010-02-17)
==
+The "1, 2, miss a few, 99, 100" release.
+
• Remove unfinished changes intended to support GTest-based tests,
which were mistakenly included in 1.4.4
diff --git a/bus/activation.c b/bus/activation.c
index 7b2a72bc..ab6ef51e 100644
--- a/bus/activation.c
+++ b/bus/activation.c
@@ -1685,11 +1685,9 @@ bus_activation_activate_service (BusActivation *activation,
int argc;
dbus_bool_t retval;
DBusHashIter iter;
- dbus_bool_t activated;
+ dbus_bool_t was_pending_activation;
DBusString command;
- activated = TRUE;
-
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
if (activation->n_pending_activations >=
@@ -1768,7 +1766,8 @@ bus_activation_activate_service (BusActivation *activation,
/* Check if the service is being activated */
pending_activation = _dbus_hash_table_lookup_string (activation->pending_activations, service_name);
- if (pending_activation)
+ was_pending_activation = (pending_activation != NULL);
+ if (was_pending_activation)
{
if (!_dbus_list_append (&pending_activation->entries, pending_activation_entry))
{
@@ -1875,19 +1874,6 @@ bus_activation_activate_service (BusActivation *activation,
pending_activation->n_entries += 1;
pending_activation->activation->n_pending_activations += 1;
- activated = FALSE;
- _dbus_hash_iter_init (activation->pending_activations, &iter);
- while (_dbus_hash_iter_next (&iter))
- {
- BusPendingActivation *p = _dbus_hash_iter_get_value (&iter);
-
- if (strcmp (p->exec, entry->exec) == 0)
- {
- activated = TRUE;
- break;
- }
- }
-
if (!_dbus_hash_table_insert_string (activation->pending_activations,
pending_activation->service_name,
pending_activation))
@@ -1910,7 +1896,7 @@ bus_activation_activate_service (BusActivation *activation,
return FALSE;
}
- if (activated)
+ if (was_pending_activation)
return TRUE;
if (bus_context_get_systemd_activation (activation->context))
diff --git a/configure.ac b/configure.ac
index ced95e4b..a49cda4b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ([2.63])
m4_define([dbus_major_version], [1])
m4_define([dbus_minor_version], [4])
-m4_define([dbus_micro_version], [7])
+m4_define([dbus_micro_version], [9])
m4_define([dbus_version],
[dbus_major_version.dbus_minor_version.dbus_micro_version])
AC_INIT([dbus],[dbus_version],[https://bugs.freedesktop.org/enter_bug.cgi?product=dbus],[dbus])
@@ -36,7 +36,7 @@ LT_CURRENT=8
## increment any time the source changes; set to
## 0 if you increment CURRENT
-LT_REVISION=4
+LT_REVISION=5
## increment if any interfaces have been added; set to 0
## if any interfaces have been changed or removed. removal has
diff --git a/doc/dbus-specification.xml b/doc/dbus-specification.xml
index bb8ecd27..0205e4b7 100644
--- a/doc/dbus-specification.xml
+++ b/doc/dbus-specification.xml
@@ -39,6 +39,16 @@
</address>
</affiliation>
</author>
+ <author>
+ <firstname>Sven</firstname>
+ <surname>Herzberg</surname>
+ <affiliation>
+ <orgname>Imendio AB</orgname>
+ <address>
+ <email>sven@imendio.com</email>
+ </address>
+ </affiliation>
+ </author>
</authorgroup>
<revhistory>
<revision>
@@ -3871,9 +3881,7 @@
<xref linkend="message-bus-types"/>.
</para>
<para>
- [FIXME the file format should be much better specified than "similar to
- .desktop entries" esp. since desktop entries are already
- badly-specified. ;-)] Service description files have the ".service" file
+ Service description files have the ".service" file
extension. The message bus will only load service description files
ending with .service; all other files will be ignored. The file format
is similar to that of <ulink
@@ -3882,6 +3890,18 @@
encoding. To ensure that there will be no name collisions, service files
must be namespaced using the same mechanism as messages and service
names.
+ </para>
+
+ <para>
+ [FIXME the file format should be much better specified than "similar to
+ .desktop entries" esp. since desktop entries are already
+ badly-specified. ;-)]
+ These sections from the specification apply to service files as well:
+
+ <itemizedlist>
+ <listitem><para>General syntax</para></listitem>
+ <listitem><para>Comment format</para></listitem>
+ </itemizedlist>
<figure>
<title>Example service description file</title>