aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2005-01-19 22:54:56 +0000
committerAndrew Cagney <cagney@redhat.com>2005-01-19 22:54:56 +0000
commite06e235377b5e6a9c4a45c9443b84e5142ff8bec (patch)
tree09806d1c2df68ee66ef04c27d0596d91be9935d6 /gdb
parent065a1afc0492b6d06eb1e890c8c27d04dfc42639 (diff)
downloadgdb-e06e235377b5e6a9c4a45c9443b84e5142ff8bec.zip
gdb-e06e235377b5e6a9c4a45c9443b84e5142ff8bec.tar.gz
gdb-e06e235377b5e6a9c4a45c9443b84e5142ff8bec.tar.bz2
2005-01-19 Andrew Cagney <cagney@gnu.org>
* utils.c (quit): Simplify, call fatal. * exceptions.c: Include "serial.h" (print_flush): Mimic flush code found in utils.c:quit. * Makefile.in: Update dependencies.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/Makefile.in2
-rw-r--r--gdb/exceptions.c21
-rw-r--r--gdb/utils.c34
4 files changed, 31 insertions, 33 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7a83a29..9c75a27 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2005-01-19 Andrew Cagney <cagney@gnu.org>
+
+ * utils.c (quit): Simplify, call fatal.
+ * exceptions.c: Include "serial.h"
+ (print_flush): Mimic flush code found in utils.c:quit.
+ * Makefile.in: Update dependencies.
+
2005-01-19 Jim Blandy <jimb@redhat.com>
* configure.tgt: Set build_rdi_share to "yes" on those targets
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 2fdfa08..6a530ba 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1898,7 +1898,7 @@ event-top.o: event-top.c $(defs_h) $(top_h) $(inferior_h) $(target_h) \
$(exceptions_h) $(gdbcmd_h) $(readline_h) $(readline_history_h)
exceptions.o: exceptions.c $(defs_h) $(exceptions_h) $(breakpoint_h) \
$(target_h) $(inferior_h) $(annotate_h) $(ui_out_h) $(gdb_assert_h) \
- $(gdb_string_h)
+ $(gdb_string_h) $(serial_h)
exec.o: exec.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) $(gdbcmd_h) \
$(language_h) $(symfile_h) $(objfiles_h) $(completer_h) $(value_h) \
$(exec_h) $(readline_h) $(gdb_string_h) $(gdbcore_h) $(gdb_stat_h) \
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 9219462..fae2372 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -31,6 +31,7 @@
#include "ui-out.h"
#include "gdb_assert.h"
#include "gdb_string.h"
+#include "serial.h"
const struct exception exception_none = { 0, NO_ERROR, NULL };
@@ -262,11 +263,29 @@ deprecated_throw_reason (enum return_reason reason)
static void
print_flush (void)
{
+ struct serial *gdb_stdout_serial;
+
if (deprecated_error_begin_hook)
deprecated_error_begin_hook ();
target_terminal_ours ();
- wrap_here (""); /* Force out any buffered output */
+
+ /* We want all output to appear now, before we print the error. We
+ have 3 levels of buffering we have to flush (it's possible that
+ some of these should be changed to flush the lower-level ones
+ too): */
+
+ /* 1. The _filtered buffer. */
+ wrap_here ("");
+
+ /* 2. The stdio buffer. */
gdb_flush (gdb_stdout);
+ gdb_flush (gdb_stderr);
+
+ /* 3. The system-level buffer. */
+ gdb_stdout_serial = serial_fdopen (1);
+ serial_drain_output (gdb_stdout_serial);
+ serial_un_fdopen (gdb_stdout_serial);
+
annotate_error_begin ();
}
diff --git a/gdb/utils.c b/gdb/utils.c
index 243fc75..55ee7ec 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -880,47 +880,19 @@ print_sys_errmsg (const char *string, int errcode)
void
quit (void)
{
- struct serial *gdb_stdout_serial = serial_fdopen (1);
-
- target_terminal_ours ();
-
- /* We want all output to appear now, before we print "Quit". We
- have 3 levels of buffering we have to flush (it's possible that
- some of these should be changed to flush the lower-level ones
- too): */
-
- /* 1. The _filtered buffer. */
- wrap_here ((char *) 0);
-
- /* 2. The stdio buffer. */
- gdb_flush (gdb_stdout);
- gdb_flush (gdb_stderr);
-
- /* 3. The system-level buffer. */
- serial_drain_output (gdb_stdout_serial);
- serial_un_fdopen (gdb_stdout_serial);
-
- annotate_error_begin ();
-
- /* Don't use *_filtered; we don't want to prompt the user to continue. */
- if (quit_pre_print)
- fputs_unfiltered (quit_pre_print, gdb_stderr);
-
#ifdef __MSDOS__
/* No steenking SIGINT will ever be coming our way when the
program is resumed. Don't lie. */
- fprintf_unfiltered (gdb_stderr, "Quit\n");
+ fatal ("Quit");
#else
if (job_control
/* If there is no terminal switching for this target, then we can't
possibly get screwed by the lack of job control. */
|| current_target.to_terminal_ours == NULL)
- fprintf_unfiltered (gdb_stderr, "Quit\n");
+ fatal ("Quit");
else
- fprintf_unfiltered (gdb_stderr,
- "Quit (expect signal SIGINT when the program is resumed)\n");
+ fatal ("Quit (expect signal SIGINT when the program is resumed)");
#endif
- deprecated_throw_reason (RETURN_QUIT);
}
/* Control C comes here */