dbus & preempt-rt compatibility patch

Alban Crequy alban.crequy at collabora.co.uk
Mon Mar 31 06:56:19 PDT 2014


dbus-daemon has only 1 thread and it processes a D-Bus message as soon
as it is received completely.

If messages from A and B are sent roughly at the same time, it is
undetermined whether dbus-daemon will read from A's socket first or
from B's socket first. But once dbus-daemon chose the order, it will be
the same order for every recipients.

In your example, if dbus-daemon reads the messages from the three
sockets in this order "A1,A2,B1,A3,C1,B2", they will be handled in the
same order and recipients will receive the message in the same order
(if a recipient receives B1 after A2, another recipient will also
receive B1 after A2).

Alban

On Mon, 31 Mar 2014 15:07:31 +0200
Zzz Rrr <climbforfreedom at gmail.com> wrote:

> Hello,
> 
> 
> 
> I am working on the same project as Fabien Vitiello.
> 
> 
> I would like to have more informations about how incoming messages are
> processed by DBus daemon. I would like to confirm whether DBus daemon
> handles messages in the same order as it receives or if DBus handles
> these messages in out of order way.
> 
> 
> Take an example, we have 3 processes A, B, and C. A sends messages
> A1, A2, A3 (in this order), B sends B1, B2 (in this order) and C
> sends C1.
> 
> We know there are several possibilities concerning incomming messages
> order. Consider that DBus receives messages in this order :
> A1,A2,B1,A3,C1,B2.
> 
> 
> In your opinion, what is the order that DBus handles messages ? Is it
> A1,A2,B1,A3,C1,B2
> ?
> 
> 
> Best regards,
> 
> ZRA


More information about the dbus mailing list