From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12486 invoked by alias); 20 Mar 2002 02:39:57 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 12388 invoked from network); 20 Mar 2002 02:39:54 -0000 Received: from unknown (HELO localhost.localdomain) (12.230.181.242) by sources.redhat.com with SMTP; 20 Mar 2002 02:39:54 -0000 Received: from there (DRAGON [127.0.0.1]) by localhost.localdomain (8.11.6/8.11.6) with SMTP id g2K2dPi16932 for ; Tue, 19 Mar 2002 18:39:25 -0800 Message-Id: <200203200239.g2K2dPi16932@localhost.localdomain> Content-Type: text/plain; charset="iso-8859-1" From: "Martin M. Hunt" Organization: Red Hat Inc To: gdb-patches@sources.redhat.com Subject: [RFA] gdbserver removal of getprotobyname() Date: Tue, 19 Mar 2002 18:39:00 -0000 X-Mailer: KMail [version 1.3.2] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SW-Source: 2002-03/txt/msg00373.txt.bz2 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 * 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 */