Fix PR remote/20398: File-IO write always outputs "Quit"

Commit bb7c96deb1 ("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.
This commit is contained in:
Pedro Alves 2016-08-05 19:54:11 +01:00
parent 69ffd7f270
commit 3906a8fc77
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,9 @@
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

View File

@ -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