This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: patch to send telnet BREAK for remote-over-tcp


Daniel Jacobowitz wrote:
On Wed, Sep 03, 2008 at 10:12:22AM -0700, Michael Snyder wrote:
Daniel Jacobowitz wrote:
On Tue, Sep 02, 2008 at 09:35:29PM -0700, Michael Snyder wrote:
I think this looks right, but I'd love to get another opinion.

Daniel? Anybody?
It seems fine (aside from the parenthesis formatting :-P), though I
think it would be much more useful if added to the manual.
OK, since I don't know if Angela has write privs, I'll fix
the parens and check it in later today.

Should this change be propagated to ser-mingw.c?  It shares
some code with this module but makes up its own serial_ops
struct.

If not, I'll just make the new function a static, shall I?

Yes, it should be used by tcp connections from mingw hosts too.

All right, I think I've addressed everything.


Eli, is the doc ok?

Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.9719
diff -u -p -r1.9719 ChangeLog
--- ChangeLog	3 Sep 2008 19:19:41 -0000	1.9719
+++ ChangeLog	3 Sep 2008 20:26:08 -0000
@@ -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_frame_unwind_cache): Do not attempt to unwind
Index: ser-mingw.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-mingw.c,v
retrieving revision 1.13
diff -u -p -r1.13 ser-mingw.c
--- ser-mingw.c	28 Mar 2008 17:30:45 -0000	1.13
+++ ser-mingw.c	3 Sep 2008 20:26:08 -0000
@@ -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: ser-tcp.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-tcp.c,v
retrieving revision 1.29
diff -u -p -r1.29 ser-tcp.c
--- ser-tcp.c	1 Jan 2008 22:53:12 -0000	1.29
+++ ser-tcp.c	3 Sep 2008 20:26:08 -0000
@@ -257,6 +257,13 @@ net_write_prim (struct serial *scb, cons
   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: ser-tcp.h
===================================================================
RCS file: /cvs/src/src/gdb/ser-tcp.h,v
retrieving revision 1.4
diff -u -p -r1.4 ser-tcp.h
--- ser-tcp.h	1 Jan 2008 22:53:12 -0000	1.4
+++ ser-tcp.h	3 Sep 2008 20:26:08 -0000
@@ -26,5 +26,6 @@ extern int net_open (struct serial *scb,
 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
Index: doc/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/doc/ChangeLog,v
retrieving revision 1.814
diff -u -p -r1.814 ChangeLog
--- doc/ChangeLog	26 Aug 2008 17:30:35 -0000	1.814
+++ doc/ChangeLog	3 Sep 2008 20:26:08 -0000
@@ -1,3 +1,8 @@
+2008-09-03  Angela Marie Thomas <angela@releasedominatrix.com>
+
+	* gdb.texinfo (Interrupts): Remove obsolete statement about
+	network interfaces.
+
 2008-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
 
 	* gdb.texinfo (Commands to Specify Files): Document "remote:"
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.520
diff -u -p -r1.520 gdb.texinfo
--- doc/gdb.texinfo	26 Aug 2008 17:30:35 -0000	1.520
+++ doc/gdb.texinfo	3 Sep 2008 20:26:09 -0000
@@ -26054,9 +26054,10 @@ control of which is specified via @value
 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 Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]