[PATCH 7/8] Cleanup pending queues before resume in all-stop

Yao Qi yao@codesourcery.com
Tue Dec 11 06:41:00 GMT 2012


Hi,
Please read the comments to see why we need this change.

gdb:

2012-12-11  Yao Qi  <yao@codesourcery.com>

	* remote.c (remote_resume): Call 'remote_notif_process' in
	all-stop mode.
---
 gdb/remote.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/gdb/remote.c b/gdb/remote.c
index 5c8b20e..47b2c45 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -4750,6 +4750,15 @@ remote_resume (struct target_ops *ops,
   struct remote_state *rs = get_remote_state ();
   char *buf;
 
+  /* In all-stop, we can't mark REMOTE_ASYNC_GET_PENDING_EVENTS_TOKEN
+     (explained in remote-notif.c:handle_notification) so
+     remote_notif_process is not called.  We need find a place where
+     it is safe to start a 'vNotif' sequence.  It is good to do it
+     before resuming inferior, because inferior was stopped and no RSP
+     traffic at that moment.  */
+  if (!non_stop)
+    remote_notif_process (&notif_client_stop);
+
   last_sent_signal = siggnal;
   last_sent_step = step;
 
-- 
1.7.7.6



More information about the Gdb-patches mailing list