[3/3] Fix non-stop regressions caused by "breakpoints always-inserted off" changes

Message ID 87fveyu7db.fsf@codesourcery.com
State New, archived
Headers

Commit Message

Yao Qi Oct. 8, 2014, 11:29 a.m. UTC
  Pedro Alves <palves@redhat.com> writes:

> -      if (signal_print[ecs->event_thread->suspend.stop_signal])
> -	{
> -	  /* The signal table tells us to print about this signal.  */
> -	  printed = 1;
> -	  target_terminal_ours_for_output ();
> -	  observer_notify_signal_received (ecs->event_thread->suspend.stop_signal);
> -	}
>        /* Always stop on signals if we're either just gaining control
>  	 of the program, or the user explicitly requested this thread
>  	 to remain stopped.  */
> @@ -4214,10 +4207,17 @@ handle_signal_stop (struct execution_control_state *ecs)
>  	  stop_waiting (ecs);
>  	  return;
>  	}
> -      /* If not going to stop, give terminal back
> -         if we took it away.  */
> -      else if (printed)

The use of local variable 'printed' is removed by this patch.  We can
remove 'printed' too, as the patch below does.  It is obvious, and I'll
push it in.
  

Comments

Pedro Alves Oct. 10, 2014, 12:52 p.m. UTC | #1
On 10/08/2014 12:29 PM, Yao Qi wrote:
> Pedro Alves <palves@redhat.com> writes:
> 
>> -      if (signal_print[ecs->event_thread->suspend.stop_signal])
>> -	{
>> -	  /* The signal table tells us to print about this signal.  */
>> -	  printed = 1;
>> -	  target_terminal_ours_for_output ();
>> -	  observer_notify_signal_received (ecs->event_thread->suspend.stop_signal);
>> -	}
>>        /* Always stop on signals if we're either just gaining control
>>  	 of the program, or the user explicitly requested this thread
>>  	 to remain stopped.  */
>> @@ -4214,10 +4207,17 @@ handle_signal_stop (struct execution_control_state *ecs)
>>  	  stop_waiting (ecs);
>>  	  return;
>>  	}
>> -      /* If not going to stop, give terminal back
>> -         if we took it away.  */
>> -      else if (printed)
> 
> The use of local variable 'printed' is removed by this patch.  We can
> remove 'printed' too, as the patch below does.  It is obvious, and I'll
> push it in.

Thanks Yao.


Thanks,
Pedro Alves
  

Patch

diff --git a/gdb/infrun.c b/gdb/infrun.c
index 7b43785..4681175 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -4425,7 +4425,6 @@  handle_signal_stop (struct execution_control_state *ecs)
   if (random_signal)
     {
       /* Signal not for debugging purposes.  */
-      int printed = 0;
       struct inferior *inf = find_inferior_pid (ptid_get_pid (ecs->ptid));
       enum gdb_signal stop_signal = ecs->event_thread->suspend.stop_signal;