diff options
author | Pedro Alves <palves@redhat.com> | 2016-06-21 01:11:47 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-06-21 01:11:47 +0100 |
commit | 694ec099d2fca9e7d47848e8a7fc40ea3aa47a32 (patch) | |
tree | 7818be8d17e00932989d674657bf65e0f5817098 /gdb/exceptions.c | |
parent | 41fd2b0f5d958fe3056da5c7af4032b1b99d726f (diff) | |
download | gdb-694ec099d2fca9e7d47848e8a7fc40ea3aa47a32.zip gdb-694ec099d2fca9e7d47848e8a7fc40ea3aa47a32.tar.gz gdb-694ec099d2fca9e7d47848e8a7fc40ea3aa47a32.tar.bz2 |
Make out and error streams be per UI
stderr_fileopen () references stderr directly, which doesn't work when
we have a separate UI with its own stderr-like stream. So this also
adds a "errstream" to "struct ui", and plumbs stderr_fileopen to take
a stream parameter.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* event-top.c (gdb_setup_readline): Pass the UI's outstream and
errstream to stdout_fileopen and stderr_fileopen.
* exceptions.c: Include top.h.
(print_flush): Open the current UI's outstream file descriptor,
instead of hardcoding file descriptor 1.
* main.c (captured_main): Save the main UI's out and error
streams. Adjust stderr_fileopen call.
* top.h (struct ui) <outstream, errstream>: New fields.
* ui-file.c (stderr_fileopen): Add stream parameter. Use it
instead of stderr.
* ui-file.h (stderr_fileopen): Add stream parameter and update
comment.
Diffstat (limited to 'gdb/exceptions.c')
-rw-r--r-- | gdb/exceptions.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/exceptions.c b/gdb/exceptions.c index 0e60050..9a10f66 100644 --- a/gdb/exceptions.c +++ b/gdb/exceptions.c @@ -26,10 +26,12 @@ #include "ui-out.h" #include "serial.h" #include "gdbthread.h" +#include "top.h" static void print_flush (void) { + struct ui *ui = current_ui; struct serial *gdb_stdout_serial; struct cleanup *old_chain = make_cleanup (null_cleanup, NULL); @@ -56,7 +58,7 @@ print_flush (void) gdb_flush (gdb_stderr); /* 3. The system-level buffer. */ - gdb_stdout_serial = serial_fdopen (1); + gdb_stdout_serial = serial_fdopen (fileno (ui->outstream)); if (gdb_stdout_serial) { serial_drain_output (gdb_stdout_serial); |