Let user C-c when waiting for DWARF index finalization
authorTom Tromey <tromey@adacore.com>
Tue, 6 Dec 2022 15:05:28 +0000 (08:05 -0700)
committerTom Tromey <tromey@adacore.com>
Thu, 9 Feb 2023 14:21:52 +0000 (07:21 -0700)
commit307733cc0fa864fcb92f4c308a0a27d17552df37
treeb32eac4482aed5cc43cef92f65509f7cabd258b6
parentc920e5cc604c5b20f9af7c75402eea94aa1e11c6
Let user C-c when waiting for DWARF index finalization

In PR gdb/29854, Simon pointed out that it would be good to be able to
use C-c when the DWARF cooked index is waiting for finalization.  The
idea here is to be able to interrupt a command like "break" -- not to
stop the finalization process itself, which runs in a worker thread.

This patch implements this idea, by changing the index wait functions
to, by default, allow a quit.  Polling is done, because there doesn't
seem to be a better way to interrupt a wait on a std::future.

For v2, I realized that the thread compatibility code in thread-pool.h
also needed an update.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29854
gdb/dwarf2/cooked-index.c
gdb/dwarf2/cooked-index.h
gdbsupport/thread-pool.h