summaryrefslogtreecommitdiff
path: root/gdb/thread.c
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2008-03-14 17:21:08 +0000
committerVladimir Prus <vladimir@codesourcery.com>2008-03-14 17:21:08 +0000
commit7bc8b6dc961c5d389c83fef10a60de55809e1189 (patch)
treeb48695ffd529dcac01c10cb4969024df842f8585 /gdb/thread.c
parentda0e17dd9df5437f1b1dd8eeb0b9d139a6804d47 (diff)
downloadgdb-7bc8b6dc961c5d389c83fef10a60de55809e1189.tar.gz
Implement MI notification for new threads.
* doc/observer.texi (new_thread): Document. * observer.sh: Forward declare struct thread_info. * thread.c (add_thread): Notify observer. * interps.h (interp_init_ftype): New parameter top_level. (interp_set): Likewise. (top_level_interpreter_data): Declare. * interps.c (interp_set): New parameter top_level. Pass it to interpreter's init function. Remember top level interpreter. (interpreter_exec_cmd): Adjust. (top_level_interpreter_data): New. * main.c (captured_main): Pass 1 for top_level parameter of interp_set. * cli/cli-interp.c (cli_interpreter_init): New parameter top_level. * tui/tui-interp.c (tui_init): New parameter top_level. * mi/mi-interp.c (mi_new_thread): New. (mi_interpreter_init): If top level, register observer for new threads. * Makefile.in (mi-interp.o, thread.o): Update dependencies.
Diffstat (limited to 'gdb/thread.c')
-rw-r--r--gdb/thread.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/thread.c b/gdb/thread.c
index 40b7b3dbe86..97facd2e6b6 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -39,6 +39,7 @@
#include <sys/types.h>
#include <signal.h>
#include "ui-out.h"
+#include "observer.h"
/* Definition of struct thread_info exported to gdbthread.h */
@@ -137,6 +138,8 @@ add_thread (ptid_t ptid)
if (print_thread_events)
printf_unfiltered (_("[New %s]\n"), target_pid_to_str (ptid));
+
+ observer_notify_new_thread (result);
return result;
}