Have gdb.ThreadExitedEvent inherit from gdb.ThreadEvent The documentation says that ThreadExitedEvent is derived from ThreadEvent, but the code does not actually implement this. This patch fixes the problem. I propose applying this to gdb 17 as well. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33444 Approved-By: Simon Marchi <simon.marchi@efficios.com>
diff --git a/gdb/python/py-event-types.def b/gdb/python/py-event-types.def index 15cd9fa..83167f3 100644 --- a/gdb/python/py-event-types.def +++ b/gdb/python/py-event-types.def
@@ -54,7 +54,7 @@ GDB_PY_DEFINE_EVENT_TYPE (thread_exited, "ThreadExitedEvent", "GDB thread exited event object", - event_object_type); + thread_event_object_type); GDB_PY_DEFINE_EVENT_TYPE (new_inferior, "NewInferiorEvent",
diff --git a/gdb/testsuite/gdb.python/py-thread-exited.py b/gdb/testsuite/gdb.python/py-thread-exited.py index ef5a244..f725bd5 100644 --- a/gdb/testsuite/gdb.python/py-thread-exited.py +++ b/gdb/testsuite/gdb.python/py-thread-exited.py
@@ -26,6 +26,8 @@ global threadOneExit, threadTwoExit, mainThreadExit print("{}".format(event)) assert isinstance(event, gdb.ThreadExitedEvent) + # Also check the inheritance. + assert isinstance(event, gdb.ThreadEvent) if threadOneExit == "": threadOneExit = "event type: thread-exited. global num: {}".format( event.inferior_thread.global_num