diff options
author | Richard Bunt <richard.bunt@arm.com> | 2018-04-19 23:02:35 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2018-04-19 23:02:35 -0400 |
commit | d27d16bfdc3f275b379793214db9bd9467b6f0f8 (patch) | |
tree | 509cb0113e912bb29199aab78b556ead9aa5e82d /opcodes/xc16x-desc.h | |
parent | ebf7373d2f63c7d50f3620bbf0165370cef60813 (diff) | |
download | fsf-binutils-gdb-d27d16bfdc3f275b379793214db9bd9467b6f0f8.zip fsf-binutils-gdb-d27d16bfdc3f275b379793214db9bd9467b6f0f8.tar.gz fsf-binutils-gdb-d27d16bfdc3f275b379793214db9bd9467b6f0f8.tar.bz2 |
Add test case for a known hang in infrun
The hang occurs when GDB tries to call inferior functions on two
different threads with scheduler-locking turned on. The first call works
fine, with the call to infrun_async(1) causing the signal_handler to be
marked and the event to be handled, but then the event loop resets the
"ready" member to zero, while leaving infrun_is_async set to 1. As a
result, GDB hangs if the user switches to another thread and calls a
second function because calling infrun_async(1) a second time has no
effect, meaning the inferior call events are never handled.
The added test case provokes the above issue.
gdb/testsuite/ChangeLog:
* gdb.threads/multiple-successive-infcall.c: New test.
* gdb.threads/multiple-successive-infcall.exp: New file.
Diffstat (limited to 'opcodes/xc16x-desc.h')
0 files changed, 0 insertions, 0 deletions