innfeed: cxnsleep can't write command: Bad address [PATCH]

Russ Allbery rra at stanford.edu
Tue Jun 7 06:31:52 UTC 2005


"Miquel van Smoorenburg" <list-inn-workers at news.cistron.nl> writes:

> Well the buffer really is just a pointer to mmap'ed memory, which
> hostArticleRejected is going to unmap. I don't understand what you mean
> with "dig the article out of the NNTP buffers".

I was thinking that if we know that the peer doesn't want the article, we
should stop sending it, but the more I think about it, the more I realize
that's a stupid idea since then we're sending a corrupted message and if
for some reason the peer actually keeps it, we really screwed up.  Not to
mention that doing that is going to be rather hard, given innfeed's
architecture.

> That was how I originally tried to fix it. But I didn't like Articles
> holding references to Buffers that again hold references to
> Articles. delArticle will call delBuffer which will, ehrm, call
> delArticle again .. besides how do you get a reference to the article
> from within buffer.c.

Oh, I see.  Because the network sending routines don't have any idea
they're sending articles, just that they're sending buffers, and teaching
them about the articles is pointless complexity.

You're right, your original solution is best, even if we're doing even
more reference counting.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>

    Please send questions to the list rather than mailing me directly.
     <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.


More information about the inn-workers mailing list