On Mon, 21 Apr 2008 17:49:35 EDT erik quanstrom <[EMAIL PROTECTED]>  wrote:
> > I meant this:
> >                 /* Pull out data to send */
> >                 bp = nil;
> >                 if(dsize != 0) {
> >                         bp = qcopy(s->wq, dsize, sent);
> >                         if(BLEN(bp) != dsize) {
> >                                 seg.flags |= FIN;
> >                                 dsize--;
> >                         }
> >                         if(sent+dsize == sndcnt)
> >                                 seg.flags |= PSH;
> >                 }
> > 
> > Seems clearer to me.  And equivalent!  I have been running
> > with this change since last Thursday. I don't stress my plan9
> > machine all that much but replica pulls, ftp, web browsing,
> > nfs etc. have worked fine.
> 
> i think they are not equivalent with these values
> 
>       BLEN(bp) != dsize
>       dsize == 1
>       sent+0 == sndcnt

I don't think all three conditions can be true. dsize is set
to ssize, ssize is initialized to sndcnt - sent and after
that it can only decrease. So if dsize is 1, sndcnt - send
must be at least 1.

Reply via email to