Re: pconn.cc assert index >= 0, async call queue madness

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Tue, 08 Apr 2008 14:30:11 +0200

tis 2008-04-08 klockan 23:50 +1200 skrev Amos Jeffries:
> If its not easy and its not simple it means more bugs. I don't think 'c'
> is a good choice here without a full ground-up recode. Nay on that from
> me on general principles.

True. I view 'c' as more of a last resort if the other turn out to be
unmaintainable. Initially I didn't even consider it an option..

> 'a' gains on grounds of easy, but can it be done and gain performance?

I am not so worried about performance. Yes, the naive implementation
using cbdata just as it is today will probably not be very good (but not
bad), but that's possible to address. Maybe by addressing cbdata, maybe
by replacing it with a similar mechanism but more optimized for
shortlived interest registrations and cancellations of the same. The
underlying problem is rapid frequent construction/destruction of
objects.

> 'b' sounds like the assert() jungle squid currently has

Yes. 'b' is nearly impossible to audit for correctness.

So is 'c'. But 'c' reduces the risk of this kind of race windows
happening to nearly 0.

Regards
Henrik
Received on Tue Apr 08 2008 - 06:32:08 MDT

This archive was generated by hypermail 2.2.0 : Wed Apr 30 2008 - 12:00:07 MDT