view auto/cc/owc @ 8805:96ae8e57b3dd

Avoid sending "Connection: keep-alive" when shutting down. When a worker process is shutting down, keepalive is not used: this is checked before the ngx_http_set_keepalive() call in ngx_http_finalize_connection(). Yet the "Connection: keep-alive" header was still sent, even if we know that the worker process is shutting down, potentially resulting in additional requests being sent to the connection which is going to be closed anyway. While clients are expected to be able to handle asynchronous close events (see ticket #1022), it is certainly possible to send the "Connection: close" header instead, informing the client that the connection is going to be closed and potentially saving some unneeded work. With this change, we additionally check for worker process shutdown just before sending response headers, and disable keepalive accordingly.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 11 Jan 2022 02:23:49 +0300
parents b7b7f3a0cc28
children
line wrap: on
line source


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


# Open Watcom C 1.0, 1.2, 1.3

# optimizations

# maximize speed
CFLAGS="$CFLAGS -ot"
# reorder instructions for best pipeline usage
CFLAGS="$CFLAGS -op"
# inline intrinsic functions
CFLAGS="$CFLAGS -oi"
# inline expansion
CFLAGS="$CFLAGS -oe"
# disable stack checking calls
CFLAGS="$CFLAGS -s"

case $CPU in
    pentium)
        # optimize for Pentium and Athlon
        # register-based arguments passing conventions
        CPU_OPT="-5r"
        # stack-based arguments passing conventions
        #CPU_OPT="-5s"
    ;;

    pentiumpro)
        # optimize for Pentium Pro, Pentium II and Pentium III
        # register-based arguments passing conventions
        CPU_OPT="-6r"
        # stack-based arguments passing conventions
        #CPU_OPT="-6s"
    ;;
esac

CFLAGS="$CFLAGS $CPU_OPT"


# warnings

# maximum level
CFLAGS="$CFLAGS -wx"
#CFLAGS="$CFLAGS -w3"

# stop on warning
CFLAGS="$CFLAGS -we"

# built target is NT
CFLAGS="$CFLAGS -bt=nt"

# multithreaded
CFLAGS="$CFLAGS -bm"

# debug
CFLAGS="$CFLAGS -d2"

# quiet
CFLAGS="$CFLAGS -zq"

# Open Watcom C 1.2
have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have


# the precompiled headers
#CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
#NGX_PCH="$NGX_OBJS/ngx_config.pch"
#NGX_BUILD_PCH="-fhq=$NGX_OBJS/ngx_config.pch"
#NGX_USE_PCH="-fh=$NGX_OBJS/ngx_config.pch"


# the link flags, built target is NT GUI mode application
#CORE_LINK="$CORE_LINK -l=nt_win"


# the resource file
NGX_RCC="wrc \$(CORE_INCS) -fo=$NGX_OBJS/nginx.res "
NGX_RCC="$NGX_RCC $NGX_WIN32_RC $NGX_OBJS/nginx.exe"


ngx_include_opt="-i="
ngx_objout="-fo"
ngx_binout="-fe="
ngx_objext="obj"

ngx_regex_dirsep='\\'
ngx_dirsep="\\"

ngx_long_start=' '
ngx_long_end=' '
ngx_long_regex_cont=' \&\
	'
ngx_long_cont=' &
	'

ngx_regex_cont=' \&\
	'
ngx_cont=' &
	'
ngx_tab=' &
		'