chiark / gitweb /
bus: process AddMatch/RemoveMatch driver call in proxy
authorLennart Poettering <lennart@poettering.net>
Mon, 14 Apr 2014 01:25:10 +0000 (18:25 -0700)
committerLennart Poettering <lennart@poettering.net>
Mon, 14 Apr 2014 01:34:55 +0000 (18:34 -0700)
commit2a0abe5b6d4997baaeb3353eee8685d92b2060e9
treed2950f822a12c3c82f8ff6a281ce5f16cdcd5e38
parent6e0369b0ff3909baec25c6ab31b5ddf5c4ae0f3f
bus: process AddMatch/RemoveMatch driver call in proxy

Previously, AddMatch/RemoveMatch calls where processed exclusively in
the proxy. That's racy however, since subscribing to a signal might not
complete before the signal is sent due to some subsequent method call.
Hence, in order to expose the same ordering guarantees as dbus1 process
the AddMatch/RemoveMatch calls from the proxy, so that they are
dispatched synchronously to all following messages, thus fixing the
race.

Ultimately, we should probabably dissolve the driver entirely into the
proxy, as it is purely a compatibility feature anyway...
src/bus-driverd/bus-driverd.c
src/bus-proxyd/bus-proxyd.c