"quick_abort on" doesn't work ...

From: jhr <jhroyer@dont-contact.us>
Date: Thu, 01 Aug 1996 05:53:37 +0000

Hi, i tried to do my best to focus on the bug:

This bug happens with my Squid V1.0.3 :

When i turn "quick_abort on" it does NOT abort request when i ask to
do it by stoping my Netscape....

The bug comes because CheckQuickAbort() doesn't set the
CLIENT_ABORT_REQUEST flag...

Here is why:

static void CheckQuickAbort(icpState)
     icpStateData *icpState;
{
    if (icpState->entry == NULL)
        return;
    if (icpState->entry->lock_count != 1) /* HERE IS THE PROBLEM ! ALWAY
TRUE IF NOT IN THE SWAP !*/
        return;
    if (icpState->entry->store_status == STORE_OK)
        return;
    if (!getQuickAbort() &&
        BIT_TEST(icpState->flags, REQ_CACHABLE) &&
        !BIT_TEST(icpState->entry->flag, KEY_PRIVATE))
        return;
    BIT_SET(icpState->entry->flag, CLIENT_ABORT_REQUEST);
    storeReleaseRequest(icpState->entry);
    icpState->log_type = ERR_CLIENT_ABORT;
}

The problem is that when squid gets something which is not in its swap
file lock_count = 2 and it fails,
if it is in its swap file then lock_count = 1 and it works (but useless
...) .

So that's why aborts never work on requesting files not in the swap file
(TCP_MISS) ...

Sorry , but i tried to find why lock_count = 2 on every TCP_MISS request
but i failed ....

Thx for your help :)
Received on Wed Jul 31 1996 - 20:55:13 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:32:45 MST