[Linux-ha-dev] FIFOs, buffering, bugs, etc.

bmartin@penguincomputing.com bmartin@penguincomputing.com
Tue, 6 Mar 2001 19:24:03 -0800


On Tue, Mar 06, 2001 at 08:06:53PM -0700, Alan Robertson wrote:
> Hi,
> 
> I renamed one of the FIFOs, and put lots more comments on what they are and
> how they work in the code.  I believe that I put the appropriate buffering
> patch into the code according to the current theory.  It now reads like
> this:
> 
> #if 0
>         /* Probably a bad idea ;-) */
>         setvbuf(pi->ReplyFIFO, ReplyFdBuf, _IOLBF, sizeof(ReplyFdBuf));
> #else
>         setvbuf(pi->ReplyFIFO, NULL, _IONBF, 0);
> #endif 
> 
> I left it as a #if just to make it clearer and highlight the change for
> now.  If it works, then we'll remove the #if 0 construction...
> 
> This is all in CVS now (as is a nice fix for the Baytech RPC3a from Juri
> Haberland).
> 
Awesome.  I was just in the process of trying to figure what was going on :)

If I understand this setvbuf stuff correctly, then previously clients should
have been line buffered by default on the input, which is most certainly not
the case in my current straces.  I'll do an update and see what happens.

Thanks Alan.

Brian