Subject: Re: CVS commit: src/lib/libc/rpc
To: Geoff Wing <mason@primenet.com.au>
From: Martin Blapp <mb@imp.ch>
List: source-changes
Date: 05/24/2003 11:22:05
Hi,
I read you mail about rpcinfo problems after my patch has been
committed. There was one line with initializing lens wrong. I've
removed the offending line.
I have heavily tested this on FreeBSD and beside that AMD works
now, I haven seen any troubles as you have described !
Can you please test this patch it it does cause any harm ?
http://people.freebsd.org/~mbr/patches/xdr_nonblock_eof_fix-netbsd.diff
Remove the special treatment of non-blocking mode in
xdrrec_eof(). This change broke seriously reading serialized
xdr-records. A end of a request could sometimes not
be recognized and the answer to the client did fail.
--- lib/libc/xdr/xdr_rec.c.orig Thu Feb 27 13:40:01 2003
+++ lib/libc/xdr/xdr_rec.c Sat May 17 17:20:24 2003
@@ -489,15 +489,6 @@
XDR *xdrs;
{
RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
- enum xprt_stat xstat;
-
- if (rstrm->nonblock) {
- if (__xdrrec_getrec(xdrs, &xstat, FALSE))
- return FALSE;
- if (!rstrm->in_haveheader && xstat == XPRT_IDLE)
- return TRUE;
- return FALSE;
- }
while (rstrm->fbtbc > 0 || (! rstrm->last_frag)) {
if (! skip_input_bytes(rstrm, rstrm->fbtbc))
Martin Blapp, <mb@imp.ch> <mbr@FreeBSD.org>
------------------------------------------------------------------
ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
Phone: +41 61 826 93 00 Fax: +41 61 826 93 01
PGP: <finger -l mbr@freebsd.org>
PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
------------------------------------------------------------------