normal_stop: Extend and clarify comment.
authorPedro Alves <palves@redhat.com>
Fri, 21 Mar 2014 11:08:44 +0000 (11:08 +0000)
committerPedro Alves <palves@redhat.com>
Fri, 21 Mar 2014 11:08:44 +0000 (11:08 +0000)
Explain better why we skip saying "Switching to ..." in non-stop mode.

gdb/
2014-03-21  Pedro Alves  <palves@redhat.com>

* infrun.c (normal_stop): Extend comment.

gdb/ChangeLog
gdb/infrun.c

index ba2ca31f3cebd1745af348eeb125a5cb213fac58..0aec7b923040f8cff2d8f30680d1ac2b290dc6ae 100644 (file)
@@ -1,3 +1,7 @@
+2014-03-21  Pedro Alves  <palves@redhat.com>
+
+       * infrun.c (normal_stop): Extend comment.
+
 2014-03-21  Hui Zhu  <hui@codesourcery.com>
            Pedro Alves  <palves@redhat.com>
 
index d7de7d16339e23f44779ab826feeec65429d6d31..8f9e820735ad8f4be10601e2a1ab4b7d2d61177c 100644 (file)
@@ -6059,18 +6059,22 @@ normal_stop (void)
           && last.kind != TARGET_WAITKIND_NO_RESUMED)
     make_cleanup (finish_thread_state_cleanup, &inferior_ptid);
 
-  /* In non-stop mode, we don't want GDB to switch threads behind the
-     user's back, to avoid races where the user is typing a command to
-     apply to thread x, but GDB switches to thread y before the user
-     finishes entering the command.  */
-
   /* 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.
 
      There's no point in saying anything if the inferior has exited.
      Note that SIGNALLED here means "exited with a signal", not
-     "received a signal".  */
+     "received a signal".
+
+     Also skip saying anything in non-stop mode.  In that mode, as we
+     don't want GDB to switch threads behind the user's back, to avoid
+     races where the user is typing a command to apply to thread x,
+     but GDB switches to thread y before the user finishes entering
+     the command, fetch_inferior_event installs a cleanup to restore
+     the current thread back to the thread the user had selected right
+     after this event is handled, so we're not really switching, only
+     informing of a stop.  */
   if (!non_stop
       && !ptid_equal (previous_inferior_ptid, inferior_ptid)
       && target_has_execution