wessels [Tue, 4 Jan 2000 02:32:33 +0000 (02:32 +0000)]
Removed 'entry' as a local variable in peerGetSomeNeighborReplies because
its only used in an assertion. If we disable assertions with NODEBUG
then we get 'unused variable' warnings from the compiler.
wessels [Sun, 12 Dec 1999 00:58:31 +0000 (00:58 +0000)]
bug fix: mtype parameter varies in size between different platforms.
Digital Unix uses 'mtyp_t' typedef, so we'll try the same. If not
found, the default is long.
wessels [Sat, 11 Dec 1999 22:57:42 +0000 (22:57 +0000)]
Some changes to store hash_table buckets to improve performance.
The default is changed from 50 objects/bucket to 20. Rewrote
storeKeyHashBuckets() and removed the 64K bucket limit. Users
report this change makes a very big difference.
wessels [Sat, 11 Dec 1999 01:11:02 +0000 (01:11 +0000)]
Added a feature so Squid runs a "squid_start" program just before
forking the child process in daemon mode. The "squid_start" script
must be in the same directory as the squid executable. I'm sure that
will change, however, when people complain.
wessels [Fri, 25 Jun 1999 04:53:43 +0000 (04:53 +0000)]
From: Henrik Nordstrom <hno@hem.passagen.se>
What this patch does is to discard the pumpMethod() function, and
instead use the fact that the request has a request entity
(content-length present).
clientCheckContentLength() is extended accordingly to have rules for
methods with requires (PUT/POST) / should not (GET/HEAD) have a request
entity.
wessels [Fri, 25 Jun 1999 03:12:22 +0000 (03:12 +0000)]
Don't clobbert ctrl.message when the PASS command fails.
It looks like we moved the server response to "cwd_message" after
PASS so that it could be displayed in a directory listing, but
if PASS fails it wiped out important information for the user
(such as alternate FTP sites)
wessels [Thu, 27 May 1999 09:26:10 +0000 (09:26 +0000)]
FreeBSD's pthreads breaks dup2(). This means we can't use dup2()
to try to find SQUID_MAXFD in configure. To get around the bug,
we make a temporary LDFLAGS string and remove -pthread.
wessels [Wed, 26 May 1999 11:01:05 +0000 (11:01 +0000)]
Some fixes for swapping out objects that are in STORE_OK state. Need
to make sure that we really write all the data and queue the
swapout file for closing.
DO NOT allow swapout of non-special objects during store rebuilding
phase. This greatly speeds up the rebuild process and prevents
large memory consumption from objects that want to be deleted but
must wait until validation completes.
wessels [Wed, 26 May 1999 10:58:52 +0000 (10:58 +0000)]
Another while loop in storeCleanup() event so that we do at least
50 entries per call, instead of just one hash bucket which might
only have a handful of objects.
wessels [Wed, 26 May 1999 10:57:46 +0000 (10:57 +0000)]
Buffer the StoreEntry when building a mime icon object.
Also set the ENTRY_SPECIAL flag before calling storeComplete so
that it gets swapped out with the new no-swapout-during-rebuild
scheme.
wessels [Wed, 26 May 1999 09:08:12 +0000 (09:08 +0000)]
Two storeSwapOut() changes:
1) with new store-FS scheme, we don't get write callbacks. This means
we were getting some objects "stuck" because we had, say 32K in memory,
but only wrote 8K in storeSwapOut() and there was no signal to make
us write another block. Now we write as many blocks as we can,
instead of just one.
2) Re-fixed the case where storeSwapOut() gets called because the
store_status has changed to STORE_OK, but there is no data to swap
out. Now close the swapout file, as done at the end of storeSwapOut().
wessels [Sat, 22 May 1999 08:31:18 +0000 (08:31 +0000)]
Fixed a bug with closing swapout files around the time we call
storeComplete(). Used to be that storeComplete() would call
storeClose() if there was a swapout.sio structure. This was
essentially the right thing to do, but kind of awkwardly implemented.
A better choice is to have storeSwapOut() close objects that are
in STORE_OK state and if inmem_hi == queued_offset.
wessels [Thu, 20 May 1999 03:57:47 +0000 (03:57 +0000)]
Since there is no write callback with new store filesystem interface,
we must pass a free function to the low level write routines to free
the write buffer after its done