diff options
author | Havoc Pennington <hp@redhat.com> | 2003-04-11 00:03:06 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-04-11 00:03:06 +0000 |
commit | 6be547d32f018c23ba56426a0bccd08baa2cf440 (patch) | |
tree | 00edf1d2628538d66d3f5db7a998c18ffc30ce04 /doc | |
parent | 7074a2469521949c706f3b9d789d7c8eb9f3ac85 (diff) |
2003-04-10 Havoc Pennington <hp@redhat.com>
* dbus/dbus-connection.c (dbus_connection_flush): don't spin on
the connection if it's disconnected
* bus/activation.c (bus_activation_service_created): use new
transaction features to roll back removal of pending activation if
we don't successfully create the service after all. Don't remove
pending activation if the function fails.
* dbus/dbus-list.c (_dbus_list_insert_before_link)
(_dbus_list_insert_after_link): new code to facilitate
services.c fixes
* dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
new functionality, so we can preallocate the ability to insert
into a hash table.
* bus/connection.c (bus_transaction_add_cancel_hook): new function
allowing us to put custom hooks in a transaction to be used for
cancelling said transaction
* doc/dbus-specification.sgml: add some discussion of secondary
service owners, and disallow zero-length service names
* bus/services.c (bus_registry_acquire_service): new function,
splits out part of bus_driver_handle_acquire_service() and fixes
a bug where we didn't remove the service doing the acquiring
from the secondary queue if we failed to remove the current owner
from the front of the queue.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/dbus-specification.sgml | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/doc/dbus-specification.sgml b/doc/dbus-specification.sgml index 109e964f..a464a0d6 100644 --- a/doc/dbus-specification.sgml +++ b/doc/dbus-specification.sgml @@ -1084,13 +1084,19 @@ </para> <para> The message bus keeps track of a set of - <firstterm>services</firstterm>. A service is simply a name, such - as <literal>com.yoyodyne.Screensaver</literal>, which can be - <firstterm>owned</firstterm> by one of the connected applications. - The message bus itself always owns the special service + <firstterm>services</firstterm>. A service is simply a name, such as + <literal>com.yoyodyne.Screensaver</literal>, which can be + <firstterm>owned</firstterm> by one or more of the connected + applications. The message bus itself always owns the special service <literal>org.freedesktop.DBus</literal>. </para> <para> + Services may have <firstterm>secondary owners</firstterm>. Secondary owners + of a service are kept in a queue; if the primary owner of a service + disconnects, or releases the service, the next secondary owner becomes + the new owner of the service. + </para> + <para> Messages may have a <literal>srvc</literal> field (see <xref linkend="message-protocol-header-fields">). When the message bus receives a message, if the <literal>srvc</literal> field is absent, the @@ -1911,17 +1917,27 @@ </para> </glossdef> </glossentry> + <glossentry id="term-secondary-owner"><glossterm>Secondary service owner</glossterm> + <glossdef> + <para> + Each service has a primary owner; messages sent to the service name + go to the primary owner. However, certain services also maintain + a queue of secondary owners "waiting in the wings." If + the primary owner releases the service, then the first secondary + owner in the queue automatically becomes the primary owner. + </para> + </glossdef> + </glossentry> <glossentry id="term-service"><glossterm>Service</glossterm> <glossdef> <para> - A service is simply a named application that other - applications can refer to. For example, the - hypothetical <literal>com.yoyodyne.Screensaver</literal> - service might accept messages that affect - a screensaver from Yoyodyne Corporation. - An application is said to <firstterm>own</firstterm> - a service if the message bus has associated the - application with the service name. + A service is simply a named list of applications. For example, the + hypothetical <literal>com.yoyodyne.Screensaver</literal> service might + accept messages that affect a screensaver from Yoyodyne Corporation. + An application is said to <firstterm>own</firstterm> a service if the + message bus has associated the application with the service name. + Services may also have <firstterm>secondary owners</firstterm> (see + <xref linkend="term-secondary-owner">). </para> </glossdef> </glossentry> |