This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Add "thread-exited" annotation
- From: Amos Bird <amosbird at gmail dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 26 Apr 2019 23:19:52 +0800
- Subject: [PATCH] Add "thread-exited" annotation
This patch adds "thread-exited" annotation so that annotation
based clients like cgdb could currently handle thread exit.
--
Amos Bird
amosbird@gmail.com
>From 890aa5099b92b5c05bd03b1084926460f6aa0d7a Mon Sep 17 00:00:00 2001
From: Amos Bird <amosbird@gmail.com>
Date: Fri, 26 Apr 2019 23:09:11 +0800
Subject: [PATCH] Add "thread-exit" annotation.
---
gdb/ChangeLog | 5 +++++
gdb/annotate.c | 12 ++++++++++++
2 files changed, 17 insertions(+)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e0120e7743..849ed30731 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2019-04-26 Amos Bird <amosbird@gmail.com>
+
+ * annotate.c (annotate_thread_exited): Add "thread-exited"
+ annotation.
+
2019-04-25 Keith Seitz <keiths@redhat.com>
PR c++/24367
diff --git a/gdb/annotate.c b/gdb/annotate.c
index 97cb4c8855..b3a7343a5a 100644
--- a/gdb/annotate.c
+++ b/gdb/annotate.c
@@ -241,6 +241,17 @@ annotate_thread_changed (void)
}
}
+void
+annotate_thread_exited (struct thread_info *t, int silent)
+{
+ if (annotation_level > 1)
+ {
+ printf_filtered(("\n\032\032thread-exited,"
+ "id=\"%d\",group-id=\"i%d\"\n"),
+ t->global_num, t->inf->num);
+ }
+}
+
void
annotate_field_begin (struct type *type)
{
@@ -595,4 +606,5 @@ _initialize_annotate (void)
gdb::observers::breakpoint_created.attach (breakpoint_changed);
gdb::observers::breakpoint_deleted.attach (breakpoint_changed);
gdb::observers::breakpoint_modified.attach (breakpoint_changed);
+ gdb::observers::thread_exit.attach (annotate_thread_exited);
}
--
2.21.0