2008-09-03 Angela Marie Thomas <angela@releasedominatrix.com>
authorMichael Snyder <msnyder@vmware.com>
Wed, 3 Sep 2008 23:54:19 +0000 (23:54 +0000)
committerMichael Snyder <msnyder@vmware.com>
Wed, 3 Sep 2008 23:54:19 +0000 (23:54 +0000)
* ser-tcp.c (ser_tcp_send_break): New function.
(_initialize_ser_tcp): Use ser_tcp_send_break.
* ser-tcp.h (ser_tcp_send_break): New prototype.

2008-09-03  Angela Marie Thomas <angela@releasedominatrix.com>

* gdb.texinfo (Interrupts): Mention TCP interface for
sending BREAK.

gdb/ChangeLog
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/ser-mingw.c
gdb/ser-tcp.c
gdb/ser-tcp.h

index 856fed0895ee06cd76db05552ca35c71bcd81ce7..e9f8b83c2828ffef43620b6857a651575c2e6ec5 100644 (file)
@@ -1,3 +1,9 @@
+2008-09-03  Angela Marie Thomas <angela@releasedominatrix.com>
+
+       * ser-tcp.c (ser_tcp_send_break): New function.
+       (_initialize_ser_tcp): Use ser_tcp_send_break.
+       * ser-tcp.h (ser_tcp_send_break): New prototype.
+
 2008-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * spu-tdep.c (spu_push_dummy_call): Update all stack pointer slots
index bb1ac1f0c23c5df48b2a1e4bc833bae230e8791d..21605744af92bbfcda59d6b67c58a0466b39fc2b 100644 (file)
@@ -1,3 +1,8 @@
+2008-09-03  Angela Marie Thomas <angela@releasedominatrix.com>
+
+       * gdb.texinfo (Interrupts): Mention TCP interface for
+       sending BREAK.
+
 2008-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * gdb.texinfo (Commands to Specify Files): Document "remote:"
index 60fc4b96c6380c75ddbd92300b73ca4bbb23af75..4a36fec6ce5c934847d89f6a56f75cb59a0c9c52 100644 (file)
@@ -26054,9 +26054,10 @@ control of which is specified via @value{GDBN}'s @samp{remotebreak}
 setting (@pxref{set remotebreak}).
 
 The precise meaning of @code{BREAK} is defined by the transport
-mechanism and may, in fact, be undefined.  @value{GDBN} does
-not currently define a @code{BREAK} mechanism for any of the network
-interfaces.
+mechanism and may, in fact, be undefined.  @value{GDBN} does not
+currently define a @code{BREAK} mechanism for any of the network
+interfaces except for TCP, in which case @value{GDBN} sends the
+@code{telnet} BREAK sequence.
 
 @samp{Ctrl-C}, on the other hand, is defined and implemented for all
 transport mechanisms.  It is represented by sending the single byte
index a4d5752ba448809a01534379cb4a570ace2acba3..98b8368e9538f0a9ebcb4e4f05999dd082bd1f9c 100644 (file)
@@ -1256,7 +1256,7 @@ _initialize_ser_windows (void)
   ops->write = ser_base_write;
   ops->flush_output = ser_base_flush_output;
   ops->flush_input = ser_base_flush_input;
-  ops->send_break = ser_base_send_break;
+  ops->send_break = ser_tcp_send_break;
   ops->go_raw = ser_base_raw;
   ops->get_tty_state = ser_base_get_tty_state;
   ops->set_tty_state = ser_base_set_tty_state;
index 6dd834268453455bee6c79c3fdd6d0cef6447ed1..dcf288da59fefa1ea3d1d93f82e07a901175d975 100644 (file)
@@ -257,6 +257,13 @@ net_write_prim (struct serial *scb, const void *buf, size_t count)
   return send (scb->fd, buf, count, 0);
 }
 
+int
+ser_tcp_send_break (struct serial *scb)
+{
+  /* Send telnet IAC and BREAK characters. */
+  return (serial_write (scb, "\377\363", 2));
+}
+
 void
 _initialize_ser_tcp (void)
 {
@@ -276,7 +283,7 @@ _initialize_ser_tcp (void)
   ops->write = ser_base_write;
   ops->flush_output = ser_base_flush_output;
   ops->flush_input = ser_base_flush_input;
-  ops->send_break = ser_base_send_break;
+  ops->send_break = ser_tcp_send_break;
   ops->go_raw = ser_base_raw;
   ops->get_tty_state = ser_base_get_tty_state;
   ops->set_tty_state = ser_base_set_tty_state;
index 2fd505207f6a32573ac5217ec742d7d2760769d4..f43db2eabdc3026fc1716dd2fa45eea61fafa2eb 100644 (file)
@@ -26,5 +26,6 @@ extern int net_open (struct serial *scb, const char *name);
 extern void net_close (struct serial *scb);
 extern int net_read_prim (struct serial *scb, size_t count);
 extern int net_write_prim (struct serial *scb, const void *buf, size_t count);
+extern int ser_tcp_send_break (struct serial *scb);
 
 #endif