From: "Martin M. Hunt" <hunt@redhat.com>
To: Orjan Friberg <orjan.friberg@axis.com>, gdb-patches@sources.redhat.com
Subject: Re: [RFA] new tcp_open
Date: Tue, 18 Dec 2001 02:57:00 -0000 [thread overview]
Message-ID: <200112181056.CAA08011@cygnus.com> (raw)
In-Reply-To: <3C1F1D00.A35E3AF@axis.com>
On Tuesday 18 December 2001 02:40 am, Orjan Friberg wrote:
> "Martin M. Hunt" wrote:
> > Problem: Using "target remote" to open a tcp connection to a target
> > board doesn't timeout properly if the target isn't running or you mistype
> > the name or port number. The tcp_open function tries to connect 15 times,
> > each of which can take a couple of minutes to timeout. You can't
> > interrupt the connect from the GUI, which is not updated, or from the
> > command line with a ^C.
> >
> > I propose replacing tcp_open with a new function that does a non-blocking
> > connect with a maximum timeout of 15 seconds. This is easily
> > interruptable by typing ^C or clicking on the stop button. I have tested
> > this with Linux, Solaris, and Cygwin.
>
> In my setup, this patch makes the testsuite run an order of a magnitude
> slower (I downgraded only this file from an otherwise updated tree, and
> it fixes the problem). My target board runs an unsubmitted port (for
> various reasons) of the gdbserver on a Linux 2.4.14 kernel, and my host
> is a Linux 2.2.19. I don't see any recent gdbserver changes that should
> be related to this change. Anyone else seeing this slowdown?
Please give this patch a try and see if it fixes the problem.
Index: ser-tcp.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-tcp.c,v
retrieving revision 1.9
diff -u -p -r1.9 ser-tcp.c
--- ser-tcp.c 2001/12/07 17:57:05 1.9
+++ ser-tcp.c 2001/12/18 10:54:31
@@ -165,6 +165,10 @@ tcp_open (struct serial *scb, const char
tmp = 0;
ioctl (scb->fd, FIONBIO, &tmp);
+ tmp = 1;
+ setsockopt (scb->fd, IPPROTO_TCP, TCP_NODELAY,
+ (char *)&tmp, sizeof (tmp));
+
/* If we don't do this, then GDB simply exits
when the remote side dies. */
signal (SIGPIPE, SIG_IGN);
--
Martin Hunt
GDB Engineer
Red Hat, Inc.
next prev parent reply other threads:[~2001-12-18 10:57 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-03 11:18 Martin M. Hunt
2001-12-03 12:02 ` Andrew Cagney
2001-12-03 13:26 ` Martin M. Hunt
2001-12-03 13:36 ` Andrew Cagney
2001-12-03 22:13 ` Martin M. Hunt
2001-12-18 2:41 ` Orjan Friberg
2001-12-18 2:57 ` Martin M. Hunt [this message]
2001-12-18 3:22 ` Andrew Cagney
2001-12-18 12:29 ` Martin M. Hunt
2001-12-19 15:32 ` Elena Zannoni
2001-12-20 3:39 ` Martin M. Hunt
2001-12-20 3:04 ` Andrew Cagney
2001-12-18 3:40 ` Orjan Friberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200112181056.CAA08011@cygnus.com \
--to=hunt@redhat.com \
--cc=gdb-patches@sources.redhat.com \
--cc=orjan.friberg@axis.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox