This is the mail archive of the gdb-cvs@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]

[binutils-gdb/gdb-7.12-branch] Fix PR remote/20398: File-IO write always outputs "Quit"


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=26fdfd0a18cf9032183a498a6c68b16f5042b1a4

commit 26fdfd0a18cf9032183a498a6c68b16f5042b1a4
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 5 19:55:32 2016 +0100

    Fix PR remote/20398: File-IO write always outputs "Quit"
    
    Commit bb7c96deb1a1 ("gdb/remote-fileio.c: Eliminate custom SIGINT
    signal handler") regressed the File-IO support.
    
    Failed output:
    
      (gdb) target remote :8888
      Remote debugging using :8888
      0x00008098 in _start ()
      (gdb) c
      Continuing.
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      [Inferior 1 (Remote target) exited normally]
    
    Expected output:
    
      (gdb) target remote :8888
      Remote debugging using :8888
      0x00008098 in _start ()
      (gdb) c
      Continuing.
      i: 0
      i: 1
      i: 2
      i: 3
      i: 4
      i: 5
      i: 6
      i: 7
      i: 8
      i: 9
      [Inferior 1 (Remote target) exited normally]
    
    The problem that the new File-IO quit handler forgets to check the
    quit flag before calling throwing a quit.
    
    gdb/ChangeLog:
    2016-08-05  Pedro Alves  <palves@redhat.com>
    
    	PR remote/20398
    	* remote-fileio.c (remote_fileio_quit_handler): Check the quit
    	flag before calling quit.

Diff:
---
 gdb/ChangeLog       | 6 ++++++
 gdb/remote-fileio.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 92f2cec..621235b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
 2016-08-05  Pedro Alves  <palves@redhat.com>
 
+	PR remote/20398
+	* remote-fileio.c (remote_fileio_quit_handler): Check the quit
+	flag before calling quit.
+
+2016-08-05  Pedro Alves  <palves@redhat.com>
+
 	* NEWS: Mention that GDB and GDBserver build with a C++ compiler
 	by default.
 
diff --git a/gdb/remote-fileio.c b/gdb/remote-fileio.c
index 93121aa..e35bd5b 100644
--- a/gdb/remote-fileio.c
+++ b/gdb/remote-fileio.c
@@ -308,7 +308,8 @@ static quit_handler_ftype *remote_fileio_o_quit_handler;
 static void
 remote_fileio_quit_handler (void)
 {
-  quit ();
+  if (check_quit_flag ())
+    quit ();
 }
 
 static void


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