Re: Re-initializing a list after the control returns to gdb...

Andrew Cagney
2003-02-19T12:47:15Z

> Hello,
>
> I am trying to do a small cleanup in our ada-tasks module, and I was
> wondering if somebody could help me making sure I am using the right
> approach.

Joel,

A more higher level question. What exactly is the story behind
ada-task*. I glanced at the code and it looked very like a clone of the
existing thread code.

Andrew

> Basically: the ada_language provides a set of commands, namely "info
> tasks" and "task". Here is the syntax:
>
> - info tasks -> prints the list of tasks, equivalent of "info threads"
> - info tasks <task_id> -> the detailed information on a given task
> - task -> print the current task id, equivalent of "thread"
> - task <task_id> -> switch to the given task
>
> The small annoyance I am trying to fix is that all these commands use
> a list internally maintained in ada-tasks.c, which gets built only
> when the "info tasks" command is called. So far, we have documented that
> the above command may only be used after "info tasks" has been issued.
>
> What I am trying to do is to lift this limitation, by updating the
> list of tasks every time the user has resumed the execution of the
> inferior, just before the user gets back the prompt.
>
> I did it by inserting a call to ada_reset_tasks_list() inside
> normal_stop(), like so:
>
> *************** print_stop_reason (enum inferior_stop_re
> *** 3360,3365 ****
> --- 3362,3369 ----
> void
> normal_stop (void)
> {
> + ada_reset_tasks_list (NULL);
> +
> /* As with the notification of thread events, we want to delay
> notifying the user that we've switched thread context until
> the inferior actually stops.
>
> My testing shows that it seems to be working pretty well. But do you
> think that this is a good idea? And does this change have any chance of
> being accepted for inclusion (eventually, we are still ironing out some
> wrinkles here and there to make our changes more acceptable, but hope to
> be able to contribute our ada-language support changes soon)?
>
> -- Joel