aboutsummaryrefslogtreecommitdiff
path: root/gdb/thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/thread.c')
-rw-r--r--gdb/thread.c35
1 files changed, 31 insertions, 4 deletions
diff --git a/gdb/thread.c b/gdb/thread.c
index c4ce608..2fdfa77 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -116,11 +116,8 @@ init_thread_list (void)
thread_list = NULL;
}
-/* add_thread now returns a pointer to the new thread_info,
- so that back_ends can initialize their private data. */
-
struct thread_info *
-add_thread (ptid_t ptid)
+add_thread_silent (ptid_t ptid)
{
struct thread_info *tp;
@@ -133,6 +130,17 @@ add_thread (ptid_t ptid)
return tp;
}
+struct thread_info *
+add_thread (ptid_t ptid)
+{
+ struct thread_info *result = add_thread_silent (ptid);
+
+ if (print_thread_events)
+ printf_filtered (_("[New %s]\n"), target_pid_to_str (ptid));
+
+ return result;
+}
+
void
delete_thread (ptid_t ptid)
{
@@ -675,6 +683,17 @@ thread_command (char *tidstr, int from_tty)
gdb_thread_select (uiout, tidstr, NULL);
}
+/* Print notices when new threads are attached and detached. */
+int print_thread_events = 1;
+static void
+show_print_thread_events (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
+{
+ fprintf_filtered (file, _("\
+Printing of thread events is %s.\n"),
+ value);
+}
+
static int
do_captured_thread_select (struct ui_out *uiout, void *tidstr)
{
@@ -737,4 +756,12 @@ The new thread ID must be currently known."),
if (!xdb_commands)
add_com_alias ("t", "thread", class_run, 1);
+
+ add_setshow_boolean_cmd ("thread-events", no_class,
+ &print_thread_events, _("\
+Set printing of thread events (e.g., thread start and exit)."), _("\
+Show printing of thread events (e.g., thread start and exit)."), NULL,
+ NULL,
+ show_print_thread_events,
+ &setprintlist, &showprintlist);
}