summaryrefslogtreecommitdiff
path: root/runtime/quick_exception_handler.cc
diff options
context:
space:
mode:
authorAlex Light <allight@google.com>2019-12-13 14:26:09 -0800
committerTreehugger Robot <treehugger-gerrit@google.com>2019-12-17 03:25:23 +0000
commit0e01c8d3f3c2d7cc4ac2cf5cf01ae913a4c6181e (patch)
tree81d5237a7aed99844527163d4739a64a60a1f96d /runtime/quick_exception_handler.cc
parentdaad67f72f1d26fdb759326e504d540eab1e1392 (diff)
Make sure all runtime threads are in the System thread group.
We want to be sure that one can suspend every thread in the 'main' ThreadGroup without affecting the ability of the runtime to perform normal actions. Previously the jit thread-pool created threads in the 'main' thread group. Since some debugger actions can wait until all jit threads are in a known good state, pausing all threads in the main thread-group can cause deadlocks. To fix this we make the ThreadPool create all threads in the system thread-group. To test this we perform structural redefinition with all threads except the main one suspended. Previously this would deadlock if run with --jit, as we will pause the jit before performing redefinition. Test: ./test.py --host --jit Test: ./test.py --host Bug: 146178357 Change-Id: Ifcb0f29613d2fc22ca7913d4868a1e425b0bee5b
Diffstat (limited to 'runtime/quick_exception_handler.cc')
0 files changed, 0 insertions, 0 deletions