Provide a non-blocking version of the local service too, since we like to avoid a local denial of service too. The previous version had broken credentials for a non-blocking rpc-server. --- lib/libc/rpc/svc_vc.c.orig Sat May 17 22:43:35 2003 +++ lib/libc/rpc/svc_vc.c Sat May 17 22:42:29 2003 @@ -488,7 +488,12 @@ 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;