* tuiIO.c (tui_initialize_io): Install tui_cont_sig signal handler
if SIGCONT is defined. (tui_cont_sig): New function when SIGCONT is defined. (tui_setup_io): Save tty setting to restore by SIGCONT.
This commit is contained in:
parent
5ecb18062a
commit
9d876a16bb
2 changed files with 36 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2001-07-22 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||||
|
||||
* tuiIO.c (tui_initialize_io): Install tui_cont_sig signal handler
|
||||
if SIGCONT is defined.
|
||||
(tui_cont_sig): New function when SIGCONT is defined.
|
||||
(tui_setup_io): Save tty setting to restore by SIGCONT.
|
||||
|
||||
2001-07-22 Stephane Carrez <Stephane.Carrez@worldnet.fr>
|
||||
|
||||
* tui.h (tui_show_assembly): Declare.
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include "ui-out.h"
|
||||
#include "cli-out.h"
|
||||
#include <fcntl.h>
|
||||
#include <signal.h>
|
||||
|
||||
/* This file controls the IO interactions between gdb and curses.
|
||||
When the TUI is enabled, gdb has two modes a curses and a standard
|
||||
|
@ -267,6 +268,9 @@ tui_setup_io (int mode)
|
|||
gdb_stdlog = gdb_stdout; /* for moment */
|
||||
gdb_stdtarg = gdb_stderr; /* for moment */
|
||||
uiout = tui_out;
|
||||
|
||||
/* Save tty for SIGCONT. */
|
||||
savetty ();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -284,13 +288,38 @@ tui_setup_io (int mode)
|
|||
rl_getc_function = tui_old_rl_getc_function;
|
||||
rl_outstream = tui_old_rl_outstream;
|
||||
readline_echoing_p = tui_old_readline_echoing_p;
|
||||
|
||||
/* Save tty for SIGCONT. */
|
||||
savetty ();
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef SIGCONT
|
||||
/* Catch SIGCONT to restore the terminal and refresh the screen. */
|
||||
static void
|
||||
tui_cont_sig (int sig)
|
||||
{
|
||||
if (tui_active)
|
||||
{
|
||||
/* Restore the terminal setting because another process (shell)
|
||||
might have changed it. */
|
||||
resetty ();
|
||||
|
||||
/* Force a refresh of the screen. */
|
||||
tuiRefreshAll ();
|
||||
}
|
||||
signal (sig, tui_cont_sig);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Initialize the IO for gdb in curses mode. */
|
||||
void
|
||||
tui_initialize_io ()
|
||||
{
|
||||
#ifdef SIGCONT
|
||||
signal (SIGCONT, tui_cont_sig);
|
||||
#endif
|
||||
|
||||
/* Create tui output streams. */
|
||||
tui_stdout = tui_fileopen (stdout);
|
||||
tui_stderr = tui_fileopen (stderr);
|
||||
|
|
Loading…
Reference in a new issue