wessels [Wed, 31 May 2006 03:15:58 +0000 (03:15 +0000)]
Removed comm_accept_check_event() and related code since we have
the AcceptLimiter class which does a better job of deferring new
connections when we start to run out of FDs.
hno [Tue, 30 May 2006 23:31:23 +0000 (23:31 +0000)]
Bug #1554: HTCP RFC compliance
Fix field order to comply with the RFC. Bump minor version to 1 to
make migration easier. New cache-peer option to support old Squid HTCP
implementaitons.
robertc [Mon, 29 May 2006 06:14:59 +0000 (06:14 +0000)]
Add a CacheManager class which provides the cachemanager menu registration facility, and remove all compile time dependencies upon cachemgrRegister from squid outside of main.cc. This allows much simpler tests, as modules exporting cache mgr information no longer drag in all of squid via cache_manager.cc.
wessels [Sat, 27 May 2006 01:58:37 +0000 (01:58 +0000)]
cosmetic: The debug message "WARNING! Your cache is running out of
filedescriptors" appears in two places. I changed it to debugs()
macro with HERE argument to differentiate the two messages.
wessels [Wed, 24 May 2006 00:24:41 +0000 (00:24 +0000)]
Fix NULL pointer access with asyncio when Squid starts up over the disk
space limit.
We used to call squidaio_init() from DiskThreadsDiskFile::operator new.
But this only gets called when opening a file. If the first transaction
is to unlink a file, squidaio will be uninitialized.
I didn't see any other good places to call squidaio_init(). For now
I am calling it from within the squidaio module itself at the
start of each open, unlink/truncate, and stat call.
wessels [Tue, 23 May 2006 06:30:21 +0000 (06:30 +0000)]
Added "self" refcounted Pointer parameters to StoreIOState's STRCB, STFNCB,
and STIOCB callback functions. This is so that the StoreIOState
refcount doesn't go to zero during one of these callbacks.
wessels [Tue, 23 May 2006 01:58:51 +0000 (01:58 +0000)]
Merged storeIOState and StoreIOState into a single StoreIOState
class. Previously, StoreIOState was just a refcounted storeIOState.
I had concerns that mixed use of refcounted and non-refcounted
StoreIOState may be leading to cases where the object gets referenced
via the old-style pointer after the refcounted version had its count
go to zero and the memory was freed. This came about while
investigating bugzilla #1465.
removed StoreIOState-related prototypes from protos.h, and removed
some typedefs from typedefs.h.
Modified STFNCB (storeSwapInFileNotify, storeSwapOutFileNotify) and
STIOCB (storeSwapOutFileClosed, storeSwapInFileClosed) so that they
no longer take StoreIOState arguments. Their "data" arguments
easily lead to the corresponding StoreIOState. The only thing we
really lose here is the ability to assert that "data->sio" equals
the passed StoreIOState.
hno [Sat, 20 May 2006 19:15:14 +0000 (19:15 +0000)]
Minor cleanup of the meta TLV format to not add the incorrect STORE_META_END
at the end of the list (list ends by it's size). STORE_META_END has changed
a number of times over the history, and we have never cared about it but some
external tools (i.e. purge) apparently beleives what they read in the docs..
wessels [Sat, 20 May 2006 06:11:59 +0000 (06:11 +0000)]
Made stream outputting more consistent in Mem::PoolReport. Use a
const char * for the column delimiter instead of repeating "\t "
on each line. Always put the delimiter at the end of the (source code) line.
wessels [Sat, 20 May 2006 06:05:02 +0000 (06:05 +0000)]
Try to clean up cachemgr 'mem' output. Don't need to double up on
'%' now that we're not using printf. Use std::setprecision() on some
fields so they don't show up as "1e+01" etc.
wessels [Fri, 19 May 2006 02:31:12 +0000 (02:31 +0000)]
The patch for bug #1499 included debugging statments where printf tokens
did not match time_t type on FreeBSD. The time_t variables are now cast
in debugging calls.
hno [Thu, 11 May 2006 02:34:18 +0000 (02:34 +0000)]
Bug 1224 / 1530: Crash related to failed PUT/POST requests where
body processing may close the connection "in the middle" of client
side request processing.
wessels [Wed, 10 May 2006 03:48:51 +0000 (03:48 +0000)]
Removed the HttpHeaderEntry constructor that created a "blank" object.
It created problems with the parse() method because id had to be set
to something, but none of the http_hdr_type values were really appropriate,
not to mention they either triggered assertions or confused the statistics.
Now parse() is a static method that calls new HttpHeaderEntry after
parsing has been successful.
wessels [Tue, 9 May 2006 23:44:23 +0000 (23:44 +0000)]
Bug #1531: squid crashes short after starting
When HttpHeaderEntry was converted to a class with methods I added a
constructor that took no arguments. It initialized id to HDR_BAD_HDR.
If header parsing fails, HDR_BAD_HDR triggers an assertion in
the destructor. As a workaround id is now initialized to HDR_OTHER.