view auto/lib/conf @ 5876:973fded4f461

Gzip, gunzip: flush busy buffers if any. Previous code resulted in transfer stalls when client happened to read all the data in buffers at once, while all gzip buffers were exhausted (but ctx->nomem wasn't set). Make sure to call next body filter at least once per call if there are busy buffers. Additionally, handling of calls with NULL chain was changed to follow the same logic, i.e., next body filter is only called with NULL chain if there are busy buffers. This is expected to fix "output chain is empty" alerts as reported by some users after c52a761a2029 (1.5.7).
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 15 Oct 2014 22:57:23 +0400
parents d620f497c50f
children 85dea406e18f
line wrap: on
line source


# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.


if [ $USE_PCRE = YES -o $PCRE != NONE ]; then
    . auto/lib/pcre/conf

else
    if [ $USE_PCRE = DISABLED -a $HTTP_REWRITE = YES ]; then

cat << END

$0: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option or you have to enable the PCRE support.

END
        exit 1
    fi
fi


if [ $USE_OPENSSL = YES ]; then
    . auto/lib/openssl/conf
fi

if [ $USE_MD5 = YES ]; then

    if [ $USE_OPENSSL = YES ]; then
        have=NGX_HAVE_OPENSSL_MD5_H . auto/have
        have=NGX_OPENSSL_MD5 . auto/have
        have=NGX_HAVE_MD5 . auto/have
        MD5=YES
        MD5_LIB=OpenSSL

    else
        . auto/lib/md5/conf
    fi

fi

if [ $USE_SHA1 = YES ]; then

    if [ $USE_OPENSSL = YES ]; then
        have=NGX_HAVE_OPENSSL_SHA1_H . auto/have
        have=NGX_HAVE_SHA1 . auto/have
        SHA1=YES
        SHA1_LIB=OpenSSL

    else
        . auto/lib/sha1/conf
    fi

fi

if [ $USE_ZLIB = YES ]; then
    . auto/lib/zlib/conf
fi

if [ $USE_LIBXSLT = YES ]; then
    . auto/lib/libxslt/conf
fi

if [ $USE_LIBGD = YES ]; then
    . auto/lib/libgd/conf
fi

if [ $USE_PERL = YES ]; then
    . auto/lib/perl/conf
fi

if [ $HTTP_GEOIP = YES ]; then
    . auto/lib/geoip/conf
fi

if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
    . auto/lib/google-perftools/conf
fi

if [ $NGX_LIBATOMIC != NO ]; then
    . auto/lib/libatomic/conf
fi