[RFC] Activate all the owners of a single name

Yang Chengwei chengwei.yang at intel.com
Tue Jul 2 00:32:54 PDT 2013


Hi List,

Status of art
=============

As defined by DBus Specification
http://dbus.freedesktop.org/doc/dbus-specification.html

{quote}
[FIXME what happens if two .service files offer the same service; what
kind of error is reported, should we have a way for the client to choose
one?]
{/quote}

As implemented by reference dbus-daemon.

It load service file and register names in hash table, no duplicate
entry allowed, so if there are more than one .service file own a name,
the first returend by readdir(3) will win and be activated on demand.
That is somehow undefined which .service file will win because
readdir(3) doesn't ensure return dirent in any kind of order.

Meanwhile, we already has built-in support for multiple owners of a
name, that is owner queue. Also fully API support. So all the dbus
service providers should learned how to handle different situations
happened when acquiring a name.

Proposal to activate multiple owners of a name
=============

It's straight forward that we can do the similar thing when activating
service by name. Say there are N .service file declare that they own a
name, if none of them is running when a request coming, we should
activate them all
    * in random order?
	* in defined order? How? Can be defined by user?

To me, I think activate them in random order is reasonable, that's just
the same case when a service starting, it doesn't known if its
requesting name already owned by others. All the service providers
should already learned how to handle these situations through libdbus
API.

--
Thanks,
Chengwei
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/dbus/attachments/20130702/5f9fa260/attachment.pgp>


More information about the dbus mailing list