diff options
| author | Martin Blapp <mbr@FreeBSD.org> | 2003-05-28 09:16:35 +0000 |
|---|---|---|
| committer | Martin Blapp <mbr@FreeBSD.org> | 2003-05-28 09:16:35 +0000 |
| commit | aee2eba2d12cef307e1ada255736657b826e1961 (patch) | |
| tree | 700c907f368647f8ad0d13f50d0d8eaa1aabd365 | |
| parent | 22e4d31a81e3c2d663c2c6302d3c2b2af3526222 (diff) | |
Notes
| -rw-r--r-- | lib/libc/rpc/svc_vc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libc/rpc/svc_vc.c b/lib/libc/rpc/svc_vc.c index 90fb29be2a0d..313d93f03afd 100644 --- a/lib/libc/rpc/svc_vc.c +++ b/lib/libc/rpc/svc_vc.c @@ -488,7 +488,12 @@ read_vc(xprtp, buf, len) cfp = (struct cf_conn *)xprt->xp_p1; if (cfp->nonblock) { - len = _read(sock, buf, (size_t)len); + if (sa->sa_family == AF_LOCAL) { + cm = (struct cmessage *)xprt->xp_verf.oa_base; + if ((len = __msgread_withcred(sock, buf, len, cm)) > 0) + xprt->xp_p2 = &cm->cmcred; + } else + len = _read(sock, buf, (size_t)len); if (len < 0) { if (errno == EAGAIN) len = 0; |
