Mercurial > hg > nginx-quic
view auto/lib/conf @ 5541:fdb67cfc957d
Fixed TCP_DEFER_ACCEPT handling (ticket #353).
Backed out 05a56ebb084a, as it turns out that kernel can return connections
without any delay if syncookies are used. This basically means we can't
assume anything about connections returned with deferred accept set.
To solve original problem the 05a56ebb084a tried to solve, i.e. to don't
wait longer than needed if a connection was accepted after deferred accept
timeout, this patch changes a timeout set with setsockopt(TCP_DEFER_ACCEPT)
to 1 second, unconditionally. This is believed to be enough for speed
improvements, and doesn't imply major changes to timeouts used.
Note that before 2.6.32 connections were dropped after a timeout. Though
it is believed that 1s is still appropriate for kernels before 2.6.32,
as previously tcp_synack_retries controlled the actual timeout and 1s results
in more than 1 minute actual timeout by default.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 28 Jan 2014 15:40:46 +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