diff options
author | Vladimir Prus <vladimir@codesourcery.com> | 2008-01-23 11:26:29 +0000 |
---|---|---|
committer | Vladimir Prus <vladimir@codesourcery.com> | 2008-01-23 11:26:29 +0000 |
commit | 93815fbfa5134025806e16f0897efc8424bf4586 (patch) | |
tree | 8c633b007b8b7fbc6d0363b951aec6670e65c7d8 /gdb/thread.c | |
parent | 73f4030dfa279eb7afc5a6c93a752aefbdb0de35 (diff) | |
download | gdb-93815fbfa5134025806e16f0897efc8424bf4586.zip gdb-93815fbfa5134025806e16f0897efc8424bf4586.tar.gz gdb-93815fbfa5134025806e16f0897efc8424bf4586.tar.bz2 |
Inform about new thread in a single place.
* thread.c (add_thread_silent): Renamed
from add_thread.
(print_thread_events): New variable definition.
(show_print_thread_events): New function.
(_initialize_thread): Add "set print thread-events" and
"show print thread-events" commands.
(add_thread): Announce new thread.
* gdbthread.h (add_thread_silent): Declare.
(print_thread_events): New variable declaration.
* inf-ttrace.c (inf_ttrace_wait): Don't
inform about new thread, as add_thread is always
called too, and will take care of that.
* infrun.c (handle_inferior_event): Likewise.
* procfs.c (procfs_wait): Likewise.
* remote.c (remote_currthread): Likewise.
* sol-thread.c (sol_thread_wait): Likewise.
* win32-nat.c (get_win32_debug_event): Likewise.
* linux-thread-db.c (attach_thread): Likewise.
Remove the verbose parameter.
(check_event): Make detach_thread be verbose
only if print_thread_events is set.
* linux-nat.c (lin_lwp_attach_lwp): Don't inform
about new thread. This is called only from
linux-thread-db.c:attach_thread, which will take care.
Remove the verbose parameter.
* linux-nat.h (lin_lwp_attach_lwp): Adjust prototype.
Diffstat (limited to 'gdb/thread.c')
-rw-r--r-- | gdb/thread.c | 35 |
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); } |