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]

[PATCH 09/16] push last_sent_signal into struct remote_state


This moves the global last_sent_signal into remote_state.

	* remote.c (struct remote_state) <last_sent_signal>:
	New field.
	(last_sent_signal): Remove.
	(new_remote_state, remote_resume, remote_wait_as): Update.
---
 gdb/remote.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/gdb/remote.c b/gdb/remote.c
index 9d57c27..19767bc 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -390,6 +390,8 @@ struct remote_state
      the target know about program signals list changes.  */
 
   char *last_program_signals_packet;
+
+  enum gdb_signal last_sent_signal;
 };
 
 /* Private data that we'll store in (struct thread_info)->private.  */
@@ -436,6 +438,7 @@ new_remote_state (void)
   result->buf_size = 400;
   result->buf = xmalloc (result->buf_size);
   result->remote_traceframe_number = -1;
+  result->last_sent_signal = GDB_SIGNAL_0;
 
   return result;
 }
@@ -4909,8 +4912,6 @@ remote_vcont_resume (ptid_t ptid, int step, enum gdb_signal siggnal)
 
 /* Tell the remote machine to resume.  */
 
-static enum gdb_signal last_sent_signal = GDB_SIGNAL_0;
-
 static int last_sent_step;
 
 static void
@@ -4929,7 +4930,7 @@ remote_resume (struct target_ops *ops,
   if (!non_stop)
     remote_notif_process (&notif_client_stop);
 
-  last_sent_signal = siggnal;
+  rs->last_sent_signal = siggnal;
   last_sent_step = step;
 
   /* The vCont packet doesn't need to specify threads via Hc.  */
@@ -6021,15 +6022,15 @@ remote_wait_as (ptid_t ptid, struct target_waitstatus *status, int options)
 
       break;
     case '\0':
-      if (last_sent_signal != GDB_SIGNAL_0)
+      if (rs->last_sent_signal != GDB_SIGNAL_0)
 	{
 	  /* Zero length reply means that we tried 'S' or 'C' and the
 	     remote system doesn't support it.  */
 	  target_terminal_ours_for_output ();
 	  printf_filtered
 	    ("Can't send signals to this remote system.  %s not sent.\n",
-	     gdb_signal_to_name (last_sent_signal));
-	  last_sent_signal = GDB_SIGNAL_0;
+	     gdb_signal_to_name (rs->last_sent_signal));
+	  rs->last_sent_signal = GDB_SIGNAL_0;
 	  target_terminal_inferior ();
 
 	  strcpy ((char *) buf, last_sent_step ? "s" : "c");
-- 
1.8.1.4


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