Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Issue 510863002: dbus::ObjectManager: Add a match rule for properties before GetManagedObjects. (Closed)

Created:
6 years, 3 months ago by armansito
Modified:
6 years, 3 months ago
Reviewers:
keybuk, satorux1
CC:
chromium-reviews, zeuthen
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

dbus::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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+453 lines, -53 lines) Patch
M dbus/BUILD.gn View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M dbus/bus.h View 1 2 chunks +16 lines, -2 lines 0 comments Download
M dbus/bus.cc View 1 3 chunks +47 lines, -4 lines 0 comments Download
M dbus/dbus.gyp View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M dbus/exported_object.cc View 1 2 4 chunks +3 lines, -11 lines 0 comments Download
M dbus/object_manager.h View 1 2 3 4 2 chunks +39 lines, -0 lines 0 comments Download
M dbus/object_manager.cc View 1 2 3 4 5 chunks +220 lines, -19 lines 0 comments Download
M dbus/object_manager_unittest.cc View 1 2 3 4 6 chunks +58 lines, -2 lines 0 comments Download
M dbus/object_proxy.cc View 1 2 4 chunks +3 lines, -11 lines 0 comments Download
M dbus/test_service.h View 1 2 chunks +8 lines, -0 lines 0 comments Download
M dbus/test_service.cc View 1 2 4 chunks +13 lines, -4 lines 0 comments Download
A dbus/util.h View 1 2 1 chunk +28 lines, -0 lines 0 comments Download
A dbus/util.cc View 1 2 1 chunk +14 lines, -0 lines 0 comments Download

Messages

Total messages: 28 (7 generated)
armansito
armansito@chromium.org changed reviewers: + keybuk@chromium.org, satorux@chromium.org
6 years, 3 months ago (2014-08-27 17:45:56 UTC) #1
armansito
Ended up not using the path_namespace rule. keybuk@, satorux@: PTAL. zeuthen@: FYI.
6 years, 3 months ago (2014-08-27 17:45:56 UTC) #2
satorux1
Could you add a test that passes with the fix but fails without the fix? ...
6 years, 3 months ago (2014-08-28 04:00:01 UTC) #3
armansito
https://codereview.chromium.org/510863002/diff/1/dbus/object_manager.cc File dbus/object_manager.cc (right): https://codereview.chromium.org/510863002/diff/1/dbus/object_manager.cc#newcode30 dbus/object_manager.cc:30: } On 2014/08/28 04:00:01, satorux1 wrote: > this is ...
6 years, 3 months ago (2014-08-28 04:30:50 UTC) #4
armansito
Added a unit test which fails 90% of the time without the fix; it matches ...
6 years, 3 months ago (2014-08-28 15:37:59 UTC) #5
satorux1
Please also have this reviewed by keybuk@. https://codereview.chromium.org/510863002/diff/1/dbus/object_manager.cc File dbus/object_manager.cc (right): https://codereview.chromium.org/510863002/diff/1/dbus/object_manager.cc#newcode30 dbus/object_manager.cc:30: } On ...
6 years, 3 months ago (2014-08-29 05:20:53 UTC) #6
armansito
https://codereview.chromium.org/510863002/diff/1/dbus/object_manager.cc File dbus/object_manager.cc (right): https://codereview.chromium.org/510863002/diff/1/dbus/object_manager.cc#newcode30 dbus/object_manager.cc:30: } On 2014/08/29 05:20:53, satorux1 wrote: > On 2014/08/28 ...
6 years, 3 months ago (2014-08-29 16:17:08 UTC) #7
armansito
ping
6 years, 3 months ago (2014-09-03 05:34:45 UTC) #8
armansito
On 2014/09/03 05:34:45, armansito wrote: > ping PTAL whenever you can. This fix is needed ...
6 years, 3 months ago (2014-09-03 21:49:52 UTC) #9
satorux1
LGTM (sorry I thought I sent LGTM already). As mentioned, I'd like this patch to ...
6 years, 3 months ago (2014-09-04 04:22:29 UTC) #10
satorux1
https://codereview.chromium.org/510863002/diff/40001/dbus/util.cc File dbus/util.cc (right): https://codereview.chromium.org/510863002/diff/40001/dbus/util.cc#newcode11 dbus/util.cc:11: return interface_name + "." + member_name; It may sound ...
6 years, 3 months ago (2014-09-04 04:25:33 UTC) #11
armansito
https://codereview.chromium.org/510863002/diff/40001/dbus/util.cc File dbus/util.cc (right): https://codereview.chromium.org/510863002/diff/40001/dbus/util.cc#newcode11 dbus/util.cc:11: return interface_name + "." + member_name; On 2014/09/04 04:25:33, ...
6 years, 3 months ago (2014-09-05 00:47:12 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/armansito@chromium.org/510863002/40001
6 years, 3 months ago (2014-09-05 00:47:58 UTC) #14
satorux1
Before submitting. Could you ping keybuk@? If he's ooo, then it's fine, but otherwise, I'd ...
6 years, 3 months ago (2014-09-05 00:54:47 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/armansito@chromium.org/510863002/40001
6 years, 3 months ago (2014-09-05 00:59:03 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: mac_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/mac_gpu/builds/51955) win8_chromium_rel on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_rel/builds/8511) win_chromium_x64_rel_swarming ...
6 years, 3 months ago (2014-09-05 04:08:00 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/armansito@chromium.org/510863002/60001
6 years, 3 months ago (2014-09-05 05:00:32 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/12570)
6 years, 3 months ago (2014-09-05 05:22:28 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/armansito@chromium.org/510863002/80001
6 years, 3 months ago (2014-09-05 16:27:49 UTC) #26
commit-bot: I haz the power
Committed patchset #5 (id:80001) as 0c7f357634a3b58d6017462edde98b6e6a8e2cd5
6 years, 3 months ago (2014-09-05 17:50:21 UTC) #27
commit-bot: I haz the power
6 years, 3 months ago (2014-09-10 03:40:37 UTC) #28
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/ebff093d22cd5c0613f3493acdbc1af1cfd5d31f
Cr-Commit-Position: refs/heads/master@{#293551}

Powered by Google App Engine
This is Rietveld 408576698