|
|
Chromium Code Reviews|
Created:
4 years, 7 months ago by charliea (OOO until 10-5) Modified:
4 years, 7 months ago Reviewers:
oystein (OOO til 10th of July) CC:
chromium-reviews, rnephew (Wrong account) Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Description[battor agent] Makes the main() thread also be the UI thread
This requires changes to the threading model because, before, we were
allowed to block the main() thread until each of the tracing commands
returned. Now that we're using the main() thread as the UI thread,
there's an expectation that it won't block while the command is
executing (because at some point the IO thread might delegate back to
the IO thread for a task, resulting in a deadlock).
This fixes a bug on Windows where a MessageWindow that was created on
the UI thread was check failing on exit because it was expecting to be
destroyed on the same thread. This happened every time that the agent
shut down on Windows.
BUG=603309
Committed: https://crrev.com/e0d672480e8c352a0f7ab4d67a87d58bb543d943
Cr-Commit-Position: refs/heads/master@{#391599}
Patch Set 1 : #
Total comments: 2
Patch Set 2 : #Patch Set 3 : Synced to head #Messages
Total messages: 21 (12 generated)
Description was changed from ========== [battor agent] Makes the main() thread also be the UI thread This required changes to the threading model because, before, we were allowed to block the main() thread until each of the tracing commands returned. Now that we're using the main() thread as the UI thread, there's an expectation that it won't block while the command is executing (because at some point the IO thread might delegate back to the IO thread for a task, resulting in a deadlock). This fixes a bug on Windows where a MessageWindow that was created on the UI thread was check failing on exit because it was expecting to be destroyed on the same thread. BUG=603309 ========== to ========== [battor agent] Makes the main() thread also be the UI thread This requires changes to the threading model because, before, we were allowed to block the main() thread until each of the tracing commands returned. Now that we're using the main() thread as the UI thread, there's an expectation that it won't block while the command is executing (because at some point the IO thread might delegate back to the IO thread for a task, resulting in a deadlock). This fixes a bug on Windows where a MessageWindow that was created on the UI thread was check failing on exit because it was expecting to be destroyed on the same thread. BUG=603309 ==========
Description was changed from ========== [battor agent] Makes the main() thread also be the UI thread This requires changes to the threading model because, before, we were allowed to block the main() thread until each of the tracing commands returned. Now that we're using the main() thread as the UI thread, there's an expectation that it won't block while the command is executing (because at some point the IO thread might delegate back to the IO thread for a task, resulting in a deadlock). This fixes a bug on Windows where a MessageWindow that was created on the UI thread was check failing on exit because it was expecting to be destroyed on the same thread. BUG=603309 ========== to ========== [battor agent] Makes the main() thread also be the UI thread This requires changes to the threading model because, before, we were allowed to block the main() thread until each of the tracing commands returned. Now that we're using the main() thread as the UI thread, there's an expectation that it won't block while the command is executing (because at some point the IO thread might delegate back to the IO thread for a task, resulting in a deadlock). This fixes a bug on Windows where a MessageWindow that was created on the UI thread was check failing on exit because it was expecting to be destroyed on the same thread. This happened every time that the agent shut down on Windows. BUG=603309 ==========
Patchset #1 (id:1) has been deleted
Patchset #1 (id:20001) has been deleted
Patchset #1 (id:40001) has been deleted
charliea@chromium.org changed reviewers: + oysteine@chromium.org
https://codereview.chromium.org/1949673003/diff/60001/tools/battor_agent/batt... File tools/battor_agent/battor_agent_bin.cc (right): https://codereview.chromium.org/1949673003/diff/60001/tools/battor_agent/batt... tools/battor_agent/battor_agent_bin.cc:144: base::WaitableEvent done(false, false); Is this actually needed, if all interaction with the battor agent is through the IO thread anyway? Any posted task would run after CreateAgent().
https://codereview.chromium.org/1949673003/diff/60001/tools/battor_agent/batt... File tools/battor_agent/battor_agent_bin.cc (right): https://codereview.chromium.org/1949673003/diff/60001/tools/battor_agent/batt... tools/battor_agent/battor_agent_bin.cc:144: base::WaitableEvent done(false, false); On 2016/05/04 16:52:11, Oystein wrote: > Is this actually needed, if all interaction with the battor agent is through the > IO thread anyway? Any posted task would run after CreateAgent(). Nope. Done.
lgtm
The CQ bit was checked by charliea@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1949673003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1949673003/80001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm6...) android_chromium_gn_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_chro...) android_clang_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clan...) android_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_comp...) cast_shell_android on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...) linux_chromium_compile_dbg_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) ios-device on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-device-gn on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-gn/bui...) mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_r...) mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...) win8_chromium_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_ng/...)
Patchset #3 (id:100001) has been deleted
The CQ bit was checked by charliea@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from oysteine@chromium.org Link to the patchset: https://codereview.chromium.org/1949673003/#ps120001 (title: "Synced to head")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1949673003/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1949673003/120001
Message was sent while issue was closed.
Committed patchset #3 (id:120001)
Message was sent while issue was closed.
Description was changed from ========== [battor agent] Makes the main() thread also be the UI thread This requires changes to the threading model because, before, we were allowed to block the main() thread until each of the tracing commands returned. Now that we're using the main() thread as the UI thread, there's an expectation that it won't block while the command is executing (because at some point the IO thread might delegate back to the IO thread for a task, resulting in a deadlock). This fixes a bug on Windows where a MessageWindow that was created on the UI thread was check failing on exit because it was expecting to be destroyed on the same thread. This happened every time that the agent shut down on Windows. BUG=603309 ========== to ========== [battor agent] Makes the main() thread also be the UI thread This requires changes to the threading model because, before, we were allowed to block the main() thread until each of the tracing commands returned. Now that we're using the main() thread as the UI thread, there's an expectation that it won't block while the command is executing (because at some point the IO thread might delegate back to the IO thread for a task, resulting in a deadlock). This fixes a bug on Windows where a MessageWindow that was created on the UI thread was check failing on exit because it was expecting to be destroyed on the same thread. This happened every time that the agent shut down on Windows. BUG=603309 Committed: https://crrev.com/e0d672480e8c352a0f7ab4d67a87d58bb543d943 Cr-Commit-Position: refs/heads/master@{#391599} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/e0d672480e8c352a0f7ab4d67a87d58bb543d943 Cr-Commit-Position: refs/heads/master@{#391599} |
