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.
This commit is contained in:
Vladimir Prus 2008-03-14 17:21:08 +00:00
parent 0f2830ff5e
commit 683f2885af
11 changed files with 92 additions and 17 deletions

View file

@ -649,7 +649,7 @@ Excess command line arguments ignored. (%s%s)\n"),
if (interp == NULL)
error (_("Interpreter `%s' unrecognized"), interpreter_p);
/* Install it. */
if (!interp_set (interp))
if (!interp_set (interp, 1))
{
fprintf_unfiltered (gdb_stderr,
"Interpreter `%s' failed to initialize.\n",