Descriptiondbus::ObjectManager: Add a match rule for properties before GetManagedObjects.
There is a race condition in the way that match rules get set up for object
proxies created in response to GetManagedObjects that may cause us the miss
PropertiesChanged signals if they're received before the match rule and filter
function get added by ObjectProxy.
This patch changes this to work the "intended" way: ObjectManager now adds a
single match rule for its corresponding service name, and specifically for the
org.freedesktop.DBus.Properties.PropertiesChanged signal. Once it receives the
signal, ObjectManager dispatches the signal to the corresponding PropertySet.
BUG=407109, 400768
TEST=dbus_unittests
Committed: https://crrev.com/ebff093d22cd5c0613f3493acdbc1af1cfd5d31f
Cr-Commit-Position: refs/heads/master@{#293551}
Patch Set 1 #
Total comments: 12
Patch Set 2 : Addressed comments by satorux@; added unit test. #
Total comments: 3
Patch Set 3 : Round 2 comments #
Total comments: 3
Patch Set 4 : Rebase #Patch Set 5 : Rebased; updated BUILD.gn; fixed crash from latest RunLoop changes #
Messages
Total messages: 28 (7 generated)
|