From c28fb3c8935a8308d20d08bd45e1fa637a6f69bf Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 9 May 1996 21:50:42 +0000 Subject: Cleanups in sunrpc code from NIIBE Yutaka . * sunrpc/clnt_tcp.c (clnttcp_create): Don't close *SOCKP if it's -1. * sunrpc/clnt_simp.c (callrpc): Don't close CRP->socket if it's RPC_ANYSOCK. * sunrpc/pmap_clnt.c (pmap_set): Don't close SOCKET, since CLNT_DESTROY already has. (pmap_unset): Likewise. * sunrpc/pm_getmaps.c (pmap_getmaps): Likewise. * sunrpc/pm_getport.c (pmap_getport): Likewise. * sunrpc/pmap_rmt.c (pmap_rmtcall): Likewise. * sunrpc/portmap.c (callit): Likewise. --- sunrpc/clnt_tcp.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'sunrpc/clnt_tcp.c') diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c index f6b28b31d7..3b71e119f0 100644 --- a/sunrpc/clnt_tcp.c +++ b/sunrpc/clnt_tcp.c @@ -6,23 +6,23 @@ * may copy or modify Sun RPC without charge, but are not authorized * to license or distribute it to anyone else except as part of a product or * program developed by the user. - * + * * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * + * * Sun RPC is provided with no support and without any obligation on the * part of Sun Microsystems, Inc. to assist in its use, correction, * modification or enhancement. - * + * * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * OR ANY PART THEREOF. - * + * * In no event will Sun Microsystems, Inc. be liable for any lost revenue * or profits or other special, indirect and consequential damages, even if * Sun has been advised of the possibility of such damages. - * + * * Sun Microsystems, Inc. * 2550 Garcia Avenue * Mountain View, California 94043 @@ -30,7 +30,7 @@ #if !defined(lint) && defined(SCCSIDS) static char sccsid[] = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro"; #endif - + /* * clnt_tcp.c, Implements a TCP/IP based, client side RPC. * @@ -85,7 +85,7 @@ struct ct_data { bool_t ct_closeit; struct timeval ct_wait; bool_t ct_waitset; /* wait set by clnt_control? */ - struct sockaddr_in ct_addr; + struct sockaddr_in ct_addr; struct rpc_err ct_error; char ct_mcall[MCALL_MSG_SIZE]; /* marshalled callmsg */ u_int ct_mpos; /* pos after marshal */ @@ -159,7 +159,8 @@ clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz) sizeof(*raddr)) < 0)) { rpc_createerr.cf_stat = RPC_SYSTEMERROR; rpc_createerr.cf_error.re_errno = errno; - (void)close(*sockp); + if (*sockp >= 0) + (void)close(*sockp); goto fooy; } ct->ct_closeit = TRUE; -- cgit v1.2.3