Mercurial > hg > nginx
view misc/GNUmakefile @ 7766:3e83336cda5b
Reuse of connections in lingering close.
This is particularly important in HTTP/2, where keepalive connections
are closed with lingering. Before the patch, reusing a keepalive HTTP/2
connection resulted in the connection waiting for lingering close to
remain in the reusable connections queue, preventing ngx_drain_connections()
from closing additional connections.
The patch fixes it by marking the connection reusable again, and so
moving it in the reusable connections queue. Further, it makes actually
possible to reuse such connections if needed.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 11 Feb 2021 21:52:09 +0300 |
parents | 7d6ba2a00e2f |
children | a555ff8fdbb0 |
line wrap: on
line source
VER = $(shell grep 'define NGINX_VERSION' src/core/nginx.h \ | sed -e 's/^.*"\(.*\)".*/\1/') NGINX = nginx-$(VER) TEMP = tmp CC = cl OBJS = objs.msvc8 OPENSSL = openssl-1.1.1i ZLIB = zlib-1.2.11 PCRE = pcre-8.44 release: export mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX) # delete incomplete sources rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.* rm -r $(TEMP)/$(NGINX)/src/os/win32 mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX) mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX) mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX) mv $(TEMP)/$(NGINX)/docs/man $(TEMP)/$(NGINX) $(MAKE) -f docs/GNUmakefile changes rm -r $(TEMP)/$(NGINX)/docs rm -r $(TEMP)/$(NGINX)/misc tar -c -z -f $(NGINX).tar.gz --directory $(TEMP) $(NGINX) export: rm -rf $(TEMP) hg archive -X '.hg*' $(TEMP)/$(NGINX) RELEASE: hg ci -m nginx-$(VER)-RELEASE hg tag -m "release-$(VER) tag" release-$(VER) $(MAKE) -f misc/GNUmakefile release win32: ./auto/configure \ --with-cc=$(CC) \ --builddir=$(OBJS) \ --with-debug \ --prefix= \ --conf-path=conf/nginx.conf \ --pid-path=logs/nginx.pid \ --http-log-path=logs/access.log \ --error-log-path=logs/error.log \ --sbin-path=nginx.exe \ --http-client-body-temp-path=temp/client_body_temp \ --http-proxy-temp-path=temp/proxy_temp \ --http-fastcgi-temp-path=temp/fastcgi_temp \ --http-scgi-temp-path=temp/scgi_temp \ --http-uwsgi-temp-path=temp/uwsgi_temp \ --with-cc-opt=-DFD_SETSIZE=1024 \ --with-pcre=$(OBJS)/lib/$(PCRE) \ --with-zlib=$(OBJS)/lib/$(ZLIB) \ --with-http_v2_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_stub_status_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_auth_request_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_slice_module \ --with-mail \ --with-stream \ --with-openssl=$(OBJS)/lib/$(OPENSSL) \ --with-openssl-opt="no-asm no-tests -D_WIN32_WINNT=0x0501" \ --with-http_ssl_module \ --with-mail_ssl_module \ --with-stream_ssl_module zip: export rm -f $(NGINX).zip mkdir -p $(TEMP)/$(NGINX)/docs.new mkdir -p $(TEMP)/$(NGINX)/logs mkdir -p $(TEMP)/$(NGINX)/temp sed -i '' -e "s/$$/`printf '\r'`/" $(TEMP)/$(NGINX)/conf/* mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX)/docs.new mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX)/docs.new mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX) rm -r $(TEMP)/$(NGINX)/docs mv $(TEMP)/$(NGINX)/docs.new $(TEMP)/$(NGINX)/docs cp -p $(OBJS)/nginx.exe $(TEMP)/$(NGINX) $(MAKE) -f docs/GNUmakefile changes mv $(TEMP)/$(NGINX)/CHANGES* $(TEMP)/$(NGINX)/docs/ cp -p $(OBJS)/lib/$(OPENSSL)/LICENSE \ $(TEMP)/$(NGINX)/docs/OpenSSL.LICENSE cp -p $(OBJS)/lib/$(PCRE)/LICENCE \ $(TEMP)/$(NGINX)/docs/PCRE.LICENCE sed -ne '/^ (C) 1995-20/,/^ jloup@gzip\.org/p' \ $(OBJS)/lib/$(ZLIB)/README \ > $(TEMP)/$(NGINX)/docs/zlib.LICENSE touch -r $(OBJS)/lib/$(ZLIB)/README \ $(TEMP)/$(NGINX)/docs/zlib.LICENSE rm -r $(TEMP)/$(NGINX)/auto rm -r $(TEMP)/$(NGINX)/misc rm -r $(TEMP)/$(NGINX)/src cd $(TEMP) && zip -r ../$(NGINX).zip $(NGINX) icons: src/os/win32/nginx.ico # 48x48, 32x32 and 16x16 icons src/os/win32/nginx.ico: src/os/win32/nginx_icon48.xpm \ src/os/win32/nginx_icon32.xpm \ src/os/win32/nginx_icon16.xpm test -d $(TEMP) || mkdir $(TEMP) xpmtoppm --alphaout=$(TEMP)/nginx48.pbm \ src/os/win32/nginx_icon48.xpm > $(TEMP)/nginx48.ppm xpmtoppm --alphaout=$(TEMP)/nginx32.pbm \ src/os/win32/nginx_icon32.xpm > $(TEMP)/nginx32.ppm xpmtoppm --alphaout=$(TEMP)/nginx16.pbm \ src/os/win32/nginx_icon16.xpm > $(TEMP)/nginx16.ppm ppmtowinicon -output src/os/win32/nginx.ico -andpgms \ $(TEMP)/nginx48.ppm $(TEMP)/nginx48.pbm \ $(TEMP)/nginx32.ppm $(TEMP)/nginx32.pbm \ $(TEMP)/nginx16.ppm $(TEMP)/nginx16.pbm