This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] gdbserver removal of getprotobyname()
- From: "Martin M. Hunt" <hunt at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Tue, 19 Mar 2002 18:39:25 -0800
- Subject: [RFA] gdbserver removal of getprotobyname()
- Organization: Red Hat Inc
I posted this as part of a discussion but never
formally submitted a patch for approval.
Embedded implementations of TCP often don't implement
getprotobyname() because it is expensive, slow, and
generally useless. So remove it.
--
Martin Hunt
GDB Engineer
Red Hat, Inc.
2002-03-19 Martin M. Hunt <hunt@redhat.com>
* gdbserver/remote-utils.c (remote_open): Don't call
getprotobyname, we're all using TCP here so just use
IPPROTO_TCP.
* gdbserver/gdbreplay.c (remote_open): Ditto.
Index: gdbreplay.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/gdbreplay.c,v
retrieving revision 1.4
diff -u -u -r1.4 gdbreplay.c
--- gdbreplay.c 2001/03/06 08:21:43 1.4
+++ gdbreplay.c 2002/03/20 02:37:02
@@ -97,7 +97,6 @@
int port;
struct sockaddr_in sockaddr;
int tmp;
- struct protoent *protoent;
int tmp_desc;
port_str = strchr (name, ':');
@@ -126,10 +125,6 @@
if (remote_desc == -1)
perror_with_name ("Accept failed");
- protoent = getprotobyname ("tcp");
- if (!protoent)
- perror_with_name ("getprotobyname");
-
/* Enable TCP keep alive process. */
tmp = 1;
setsockopt (tmp_desc, SOL_SOCKET, SO_KEEPALIVE, (char *) &tmp, sizeof (tmp));
@@ -137,7 +132,7 @@
/* Tell TCP not to delay small packets. This greatly speeds up
interactive response. */
tmp = 1;
- setsockopt (remote_desc, protoent->p_proto, TCP_NODELAY,
+ setsockopt (remote_desc, IPPROTO_TCP, TCP_NODELAY,
(char *) &tmp, sizeof (tmp));
close (tmp_desc); /* No longer need this */
Index: remote-utils.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/remote-utils.c,v
retrieving revision 1.9
diff -u -u -r1.9 remote-utils.c
--- remote-utils.c 2002/03/13 20:42:16 1.9
+++ remote-utils.c 2002/03/20 02:37:02
@@ -107,7 +107,6 @@
int port;
struct sockaddr_in sockaddr;
int tmp;
- struct protoent *protoent;
int tmp_desc;
port_str = strchr (name, ':');
@@ -136,10 +135,6 @@
if (remote_desc == -1)
perror_with_name ("Accept failed");
- protoent = getprotobyname ("tcp");
- if (!protoent)
- perror_with_name ("getprotobyname");
-
/* Enable TCP keep alive process. */
tmp = 1;
setsockopt (tmp_desc, SOL_SOCKET, SO_KEEPALIVE, (char *) &tmp, sizeof (tmp));
@@ -147,7 +142,7 @@
/* Tell TCP not to delay small packets. This greatly speeds up
interactive response. */
tmp = 1;
- setsockopt (remote_desc, protoent->p_proto, TCP_NODELAY,
+ setsockopt (remote_desc, IPPROTO_TCP, TCP_NODELAY,
(char *) &tmp, sizeof (tmp));
close (tmp_desc); /* No longer need this */