summaryrefslogtreecommitdiff
path: root/gdb/ser-unix.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2011-03-04 19:23:42 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2011-03-04 19:23:42 +0000
commit1e182ce8c375de8f86fe00198b07d0331e4c4e0d (patch)
tree0e7ec4987f47fe39ec610faff8caef45208eec64 /gdb/ser-unix.c
parent2abae99411dbbced25ad99232ab329ad59578294 (diff)
downloadbinutils-gdb-1e182ce8c375de8f86fe00198b07d0331e4c4e0d.tar.gz
* inflow.c (terminal_init_inferior_with_pgrp): Copy ttystate.
(terminal_save_ours): Remove misleading comment. (inflow_inferior_data_cleanup): Free ttystate. (inflow_inferior_exit): Likewise. (copy_terminal_info): Copy ttystate. * serial.c (serial_copy_tty_state): New function. * serial.h (serial_copy_tty_state): Add prototype. (struct serial_ops): Add copy_tty_state callback. * ser-base.c (ser_base_copy_tty_state): New function. * ser-base.h (ser_base_copy_tty_state): Add prototype. * ser-go32.c (dos_copy_tty_state): New function. (dos_ops): Install copy_tty_state callback. * ser-mingw.c (_initialize_ser_windows): Likewise. * ser-pipe.c (_initialize_ser_pipe): Likewise. * ser-unix.c (hardwire_copy_tty_state): New function. (_initialize_ser_hardwire): Install it.
Diffstat (limited to 'gdb/ser-unix.c')
-rw-r--r--gdb/ser-unix.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/ser-unix.c b/gdb/ser-unix.c
index c213b3dbb61..da3a4c30b61 100644
--- a/gdb/ser-unix.c
+++ b/gdb/ser-unix.c
@@ -188,6 +188,17 @@ hardwire_get_tty_state (struct serial *scb)
return (serial_ttystate) state;
}
+static serial_ttystate
+hardwire_copy_tty_state (struct serial *scb, serial_ttystate ttystate)
+{
+ struct hardwire_ttystate *state;
+
+ state = (struct hardwire_ttystate *) xmalloc (sizeof *state);
+ *state = *(struct hardwire_ttystate *) ttystate;
+
+ return (serial_ttystate) state;
+}
+
static int
hardwire_set_tty_state (struct serial *scb, serial_ttystate ttystate)
{
@@ -911,6 +922,7 @@ _initialize_ser_hardwire (void)
ops->send_break = hardwire_send_break;
ops->go_raw = hardwire_raw;
ops->get_tty_state = hardwire_get_tty_state;
+ ops->copy_tty_state = hardwire_copy_tty_state;
ops->set_tty_state = hardwire_set_tty_state;
ops->print_tty_state = hardwire_print_tty_state;
ops->noflush_set_tty_state = hardwire_noflush_set_tty_state;