binutils-gdb/gdb/python
Tom Tromey 55980c88d4 Allow cancellation of DAP-thread requests
This patch started as an attempt to fix the comment in
CancellationHandler.cancel, but while working on it I found that the
code could be improved as well.

The current DAP cancellation code only handles the case where work is
done on the gdb thread -- by checking for cancellation in
interruptable_region.  This means that if a request is handled
completely in tthe DAP thread, then cancellation will never work.

Now, this isn't a bug per se.  DAP doesn't actually require that
cancellation succeed.  In fact, I think it can't, because cancellation
is inherently racy.

However, a coming patch will add a sort of "pending" request, and it
would be nice if that were cancellable before any commands are sent to
the gdb thread.

No test in this patch, but one will arrive at the end of the series.

Reviewed-by: Kévin Le Gouguec <legouguec@adacore.com>
2024-12-09 13:52:54 -07:00
..
lib/gdb Allow cancellation of DAP-thread requests 2024-12-09 13:52:54 -07:00
py-all-events.def Add gdb.events.tui_enabled 2024-11-01 11:06:47 -06:00
py-arch.c gdb/python: missing PyObject_IsTrue error check in py-arch.c 2024-11-14 19:34:43 +00:00
py-auto-load.c [gdb/contrib] Add two rules in common-misspellings.txt 2024-11-23 12:20:34 +01:00
py-block.c Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-bpevent.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-breakpoint.c gdb/python: fix reference leak in gdb.BreakpointLocation.thread_groups 2024-11-20 09:33:17 +00:00
py-cmd.c [gdb/python] Eliminate GDB_PY_SET_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-connection.c [gdb/contrib] Add two rules in common-misspellings.txt 2024-11-23 12:20:34 +01:00
py-continueevent.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-dap.c Don't allow new-ui to start the TUI 2024-05-17 09:39:41 -06:00
py-disasm.c [gdb/contrib] Add two rules in common-misspellings.txt 2024-11-23 12:20:34 +01:00
py-event-types.def Add gdb.events.tui_enabled 2024-11-01 11:06:47 -06:00
py-event.c Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-event.h Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-events.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
py-evtregistry.c Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-evts.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-exitedevent.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-finishbreakpoint.c [gdb/python] Eliminate GDB_PY_SET_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-frame.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-framefilter.c Convert py-framefilter.c to new hash table 2024-11-25 22:07:04 -05:00
py-function.c Call gdbpy_fix_doc_string_indentation for function help 2024-11-11 07:44:27 -07:00
py-gdb-readline.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-inferior.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-infevents.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-infthread.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-instruction.c Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-instruction.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
py-lazy-string.c [gdb/contrib] Add two rules in common-misspellings.txt 2024-11-23 12:20:34 +01:00
py-linetable.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-membuf.c Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-mi.c Require a command argument in gdb.execute_mi 2024-10-18 11:50:27 -06:00
py-micmd.c gdb/python: missing PyObject_IsTrue error check in micmdpy_set_installed 2024-11-14 19:34:44 +00:00
py-newobjfileevent.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-objfile.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-param.c [gdb/python] Eliminate GDB_PY_SET_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-prettyprint.c Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-progspace.c gdb/python: implement Python find_exec_by_build_id hook 2024-11-10 10:18:23 +00:00
py-record-btrace.c btrace: Add support for interrupt events. 2024-09-24 14:22:28 +02:00
py-record-btrace.h python: Add clear() to gdb.Record. 2024-08-14 11:20:56 +02:00
py-record-full.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-record-full.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
py-record.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-record.h python: Introduce gdb.RecordAuxiliary class. 2024-08-14 11:20:56 +02:00
py-ref.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
py-registers.c Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-signalevent.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-stopevent.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-stopevent.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
py-symbol.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-symtab.c Automatically add types to Python modules 2024-09-23 13:44:59 -06:00
py-threadevent.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-tui.c Add gdb.events.tui_enabled 2024-11-01 11:06:47 -06:00
py-type.c Convert type copying to new hash table 2024-11-25 22:07:04 -05:00
py-uiout.h Add line-number styling 2024-09-30 13:23:35 -06:00
py-unwind.c [gdb/python] Eliminate GDB_PY_HANDLE_EXCEPTION 2024-09-24 13:06:32 +02:00
py-utils.c [gdb/python] Make sure python sys.exit makes gdb exit 2024-09-25 19:29:57 +02:00
py-value.c Convert type copying to new hash table 2024-11-25 22:07:04 -05:00
py-varobj.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
py-xmethods.c gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
python-config.py Run isort 2024-04-02 11:21:39 -06:00
python-internal.h Convert type copying to new hash table 2024-11-25 22:07:04 -05:00
python.c [gdb/python] Issue warning if python fails to initialize 2024-12-03 22:58:47 +01:00
python.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00