HomePhabricator

Add a test for debugserver handling threads suspended from within a program.

Authored by jingham on Feb 13 2020, 3:48 PM.

Description

Add a test for debugserver handling threads suspended from within a program.

Mach allows you to suspend and resume other threads within a program, so
debugserver has to be careful not to interfere with this when it goes to supend and
resume threads while stepping over breakpoints and calling functions. Even
trickier, if you call a function on a suspended thread, it has to resume the
thread to get the expression to run, and then suspend it properly when done.

This all works already, but there wasn't a test for it. Adding that here.

This same test could be written for a unix that supports pthread_{suspend,resume}_np, but
macOS doesn't support these calls, only the mach version. It doesn't look like
a lot of Linux'es support this (AIX does apparently...) And IIUC Windows allows
you to suspend and resume other threads, but the code for that would look pretty
different than this main.c. So for simplicity's sake I wrote this test for Darwin-only.

Details

Committed
jinghamFeb 13 2020, 3:48 PM
Parents
rGb21c7999520a: [mlir] [VectorOps] Initial framework for progressively lowering vector.contract
Branches
Unknown
Tags
Unknown