summaryrefslogtreecommitdiffstats
path: root/dbus/object_path.cc
diff options
context:
space:
mode:
authorchirantan <chirantan@chromium.org>2015-04-09 12:36:01 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-09 19:36:33 +0000
commit722c97737ea0ae7e76206c160983419395bca732 (patch)
tree49bb94b435eb561e64a43dda21f3ad2720c5269d /dbus/object_path.cc
parente70a4ae6fc6e88df5946b6c49f4e80a2077ed348 (diff)
downloadchromium_src-722c97737ea0ae7e76206c160983419395bca732.zip
chromium_src-722c97737ea0ae7e76206c160983419395bca732.tar.gz
chromium_src-722c97737ea0ae7e76206c160983419395bca732.tar.bz2
Send DBus signals synchronously if called from the DBusTaskRunner
The Chrome OS power manager (powerd) does not use a dedicated task runner for handling DBus messages and defaults to using the same MessageLoop as the one on which the dbus::Bus object was created. An unfortunate effect of this is that if powerd calls ExportedObject::SendSignal and then ObjectProxy::CallMethodAndBlock without returning to the top level of the MessageLoop, the method call will actually go out before the signal since SendSignal is asynchronous. To deal with this, make ExportedObject::SendSignal synchronous when it is called from the same thread that hosts the DBusTaskRunner. BUG=472361 Review URL: https://codereview.chromium.org/1066193002 Cr-Commit-Position: refs/heads/master@{#324485}
Diffstat (limited to 'dbus/object_path.cc')
0 files changed, 0 insertions, 0 deletions