about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--sunrpc/clnt_tcp.c6
-rw-r--r--sunrpc/clnt_unix.c6
3 files changed, 9 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 7f16fb6dd9..c346a86426 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,9 @@
 	clnt_control for any protocol.  This would make it impossible for
 	the user to provide one in clnt_call().
 	Reported by Hitoshi Guutara Maruyama <maruyama@sh.rim.or.jp>.
+	* sunrpc/clnt_tcp.c (clnt_call): Don't use timeout in tests with zero,
+	use ct->ct_wait.
+	* sunrpc/clnt_unix.c (clnt_call): Likewise.
 
 2000-10-31  Jes Sorensen  <jes@linuxcare.com>
 
diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c
index 9a35ec1c22..ad53d576d6 100644
--- a/sunrpc/clnt_tcp.c
+++ b/sunrpc/clnt_tcp.c
@@ -253,8 +253,8 @@ clnttcp_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout)
     }
 
   shipnow =
-    (xdr_results == (xdrproc_t) 0 && timeout.tv_sec == 0
-     && timeout.tv_usec == 0) ? FALSE : TRUE;
+    (xdr_results == (xdrproc_t) 0 && ct->ct_wait.tv_sec == 0
+     && ct->ct_wait.tv_usec == 0) ? FALSE : TRUE;
 
 call_again:
   xdrs->x_op = XDR_ENCODE;
@@ -277,7 +277,7 @@ call_again:
   /*
    * Hack to provide rpc-based message passing
    */
-  if (timeout.tv_sec == 0 && timeout.tv_usec == 0)
+  if (ct->ct_wait.tv_sec == 0 && ct->ct_wait.tv_usec == 0)
     {
       return ct->ct_error.re_status = RPC_TIMEDOUT;
     }
diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c
index 211fcd6f79..52806226fb 100644
--- a/sunrpc/clnt_unix.c
+++ b/sunrpc/clnt_unix.c
@@ -232,8 +232,8 @@ clntunix_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout)
     }
 
   shipnow =
-    (xdr_results == (xdrproc_t) 0 && timeout.tv_sec == 0
-     && timeout.tv_usec == 0) ? FALSE : TRUE;
+    (xdr_results == (xdrproc_t) 0 && ct->ct_wait.tv_sec == 0
+     && ct->ct_wait.tv_usec == 0) ? FALSE : TRUE;
 
 call_again:
   xdrs->x_op = XDR_ENCODE;
@@ -256,7 +256,7 @@ call_again:
   /*
    * Hack to provide rpc-based message passing
    */
-  if (timeout.tv_sec == 0 && timeout.tv_usec == 0)
+  if (ct->ct_wait.tv_sec == 0 && ct->ct_wait.tv_usec == 0)
     return ct->ct_error.re_status = RPC_TIMEDOUT;