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