diff options
author | dfr <dfr@FreeBSD.org> | 2008-09-15 14:02:49 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2008-09-15 14:02:49 +0000 |
commit | 992112e8aae569900b58bbed8aca40e7692250c3 (patch) | |
tree | 93af1fbd38cdafd89a912f29b517f8bb7dd2038f /lib/libc/rpc | |
parent | e0f67daaea9a4bd084a159ca52bce34fb0119a84 (diff) | |
download | FreeBSD-src-992112e8aae569900b58bbed8aca40e7692250c3.zip FreeBSD-src-992112e8aae569900b58bbed8aca40e7692250c3.tar.gz |
Fix async mode (required for ypbind in manycast mode).
Diffstat (limited to 'lib/libc/rpc')
-rw-r--r-- | lib/libc/rpc/clnt_dg.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/rpc/clnt_dg.c b/lib/libc/rpc/clnt_dg.c index 3014155..9c52e1e 100644 --- a/lib/libc/rpc/clnt_dg.c +++ b/lib/libc/rpc/clnt_dg.c @@ -383,6 +383,8 @@ clnt_dg_call(cl, proc, xargs, argsp, xresults, resultsp, utimeout) kin_len = 1; call_again: + if (cu->cu_async == TRUE && xargs == NULL) + goto get_reply; /* * the transaction is the first thing in the out buffer * XXX Yes, and it's in network byte order, so we should to @@ -393,8 +395,6 @@ call_again: *(u_int32_t *)(void *)(cu->cu_outhdr) = htonl(xid); call_again_same_xid: xdrs = &(cu->cu_outxdrs); - if (cu->cu_async == TRUE && xargs == NULL) - goto get_reply; xdrs->x_op = XDR_ENCODE; XDR_SETPOS(xdrs, 0); |