This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR cli/13110


On Mon, Sep 5, 2011 at 8:56 AM, Pedro Alves <pedro@codesourcery.com> wrote:
> <http://sourceware.org/ml/gdb/2011-09/msg00019.html>
>
> Tested on x86_64-linux and applied.
>
> Repeating what I said on gdb@, I'm now wondering if we actually ever
> need the registers_changed call here or in wait_for_inferior
> nowadays --- we flush threads' register caches when we resume
> them (target_resume).
>
> --
> Pedro Alves
>
> 2011-09-05 ?Pedro Alves ?<pedro@codesourcery.com>
>
> ? ? ? ?PR cli/13110
>
> ? ? ? ?gdb/
> ? ? ? ?* infrun.c (fetch_inferior_event): Check if there's a selected
> ? ? ? ?thread before checking if the selected thread is executing.
>
> ---
> ?gdb/infrun.c | ? ?4 +++-
> ?1 file changed, 3 insertions(+), 1 deletion(-)
>
> Index: src/gdb/infrun.c
> ===================================================================
> --- src.orig/gdb/infrun.c ? ? ? 2011-09-05 15:50:49.000000000 +0100
> +++ src/gdb/infrun.c ? ?2011-09-05 15:57:10.693964411 +0100
> @@ -2749,7 +2749,9 @@ fetch_inferior_event (void *client_data)
> ? ? ?switches threads anyway). ?If we didn't do this, a spurious
> ? ? ?delayed event in all-stop mode would make the user lose the
> ? ? ?selected frame. ?*/
> - ?if (non_stop || is_executing (inferior_ptid))
> + ?if (non_stop
> + ? ? ?|| (!ptid_equal (inferior_ptid, null_ptid)
> + ? ? ? ? && is_executing (inferior_ptid)))
> ? ? registers_changed ();
>
> ? make_cleanup_restore_integer (&execution_direction);
>

The code may be to additionally check if there's a selected thread,
but when I read it I think "When is null_ptid ever executing?".

Comment in the code is required IMO.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]