aboutsummaryrefslogtreecommitdiff
path: root/sunrpc/clnt_tcp.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-05-09 21:50:42 +0000
committerRoland McGrath <roland@gnu.org>1996-05-09 21:50:42 +0000
commitc28fb3c8935a8308d20d08bd45e1fa637a6f69bf (patch)
tree664e7f71b30e69b456fb46fadfa488e65058fa28 /sunrpc/clnt_tcp.c
parent05d4c982198805983d6d7a39b08b1d75eac79387 (diff)
downloadglibc-c28fb3c8935a8308d20d08bd45e1fa637a6f69bf.zip
glibc-c28fb3c8935a8308d20d08bd45e1fa637a6f69bf.tar.gz
glibc-c28fb3c8935a8308d20d08bd45e1fa637a6f69bf.tar.bz2
Cleanups in sunrpc code from NIIBE Yutaka <gniibe@mri.co.jp>.
* 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.
Diffstat (limited to 'sunrpc/clnt_tcp.c')
-rw-r--r--sunrpc/clnt_tcp.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c
index f6b28b3..3b71e11 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;