diff options
author | chirantan <chirantan@chromium.org> | 2015-04-09 12:36:01 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-09 19:36:33 +0000 |
commit | 722c97737ea0ae7e76206c160983419395bca732 (patch) | |
tree | 49bb94b435eb561e64a43dda21f3ad2720c5269d /dbus/object_path.h | |
parent | e70a4ae6fc6e88df5946b6c49f4e80a2077ed348 (diff) | |
download | chromium_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.h')
0 files changed, 0 insertions, 0 deletions