Profiling nnrpd (was Re: Observation using trn-test76 and INN 2.4.0)
Kiernan, Alex
alexk at demon.net
Fri Nov 29 18:52:16 UTC 2002
> Jeffrey M Vinocur <jeff at litech.org> writes:
>
> > The mind boggles. We get near the end of CMDxover() and it
> executes
>
> > SendIOv(".\r\n", 3);
> > PushIOv();
>
> > and if I query the vector after the first line above, the
> .CRLF has been
> > put in the queue successfully.
>
> > (gdb) p queued_iov
> > $5 = 772
> > (gdb) p iov[771]
> > $6 = {iov_base = 0x817285f, iov_len = 3}
> > (gdb) p (char*)iov[771].iov_base
> > $7 = 0x817285f ".\r\n"
>
> > Yet somehow the PushIOv() doesn't result in that being
> written. (The
> > return value was positive, by the way, although we don't check it.)
>
> It was using writev rather than xwritev, so it wasn't
> finishing partial
> writes. *sigh* I can't believe that's been there for so long.
>
Even worse is I've got that fix locally just not had the chance to merge
what I've got :(
Hopefully I'll get some time over Christmas.
--
Alex Kiernan, Principal Engineer, Development, THUS plc
More information about the inn-workers
mailing list