about summary refs log tree commit diff
path: root/sunrpc/clnt_udp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sunrpc/clnt_udp.c')
-rw-r--r--sunrpc/clnt_udp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
index a0164f01f6..3ce124f5d7 100644
--- a/sunrpc/clnt_udp.c
+++ b/sunrpc/clnt_udp.c
@@ -356,8 +356,12 @@ send_again:
 	}
       if (inlen < 4)
 	continue;
-      /* see if reply transaction id matches sent id */
-      if (*((u_int32_t *) (cu->cu_inbuf)) != *((u_int32_t *) (cu->cu_outbuf)))
+
+      /* see if reply transaction id matches sent id.
+        Don't do this if we only wait for a replay */
+      if (xargs != NULL
+	  && (*((u_int32_t *) (cu->cu_inbuf))
+	      != *((u_int32_t *) (cu->cu_outbuf))))
 	continue;
       /* we now assume we have the proper reply */
       break;