annotate docs/GNUmakefile @ 4254:35861ba428d1 stable-1.0

Merging r4195, r4196: AIO related fixes: *) Fix for connection drops with AIO. Connections serving content with AIO to fast clients were dropped with "client timed out" messages after send_timeout from response start. *) Fix for socket leak with "aio sendfile" and "limit_rate". Second aio post happened when timer set by limit_rate expired while we have aio request in flight, resulting in "second aio post" alert and socket leak. The patch adds actual protection from aio calls with r->aio already set to aio sendfile code in ngx_http_copy_filter(). This should fix other cases as well, e.g. when sending buffered to disk upstream replies while still talking to upstream. The ngx_http_writer() is also fixed to handle the above case (though it's mostly optimization now).
author Igor Sysoev <igor@sysoev.ru>
date Tue, 01 Nov 2011 14:13:25 +0000
parents 3e706fcccbf3
children dc7549aa8556
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1
775
a452a0e13539 check nginx.pm version
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
2 VER= $(shell grep 'define NGINX_VERSION' src/core/nginx.h \
a452a0e13539 check nginx.pm version
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
3 | sed -e 's/^.*\"\(.*\)\"/\1/')
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4 NGINX= nginx-$(VER)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5 TEMP= tmp
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6 CP= $(HOME)/java
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 define XSLScript
4047
3e706fcccbf3 Merge of r3996, r3998, r4015, r4023, r4025, r4026, r4027:
Igor Sysoev <igor@sysoev.ru>
parents: 2065
diff changeset
9 java -cp $(CP)/xsls/saxon.jar:$(CP)/xsls/xsls.jar \
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10 com.pault.StyleSheet \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 -x com.pault.XX -y com.pault.XX \
4047
3e706fcccbf3 Merge of r3996, r3998, r4015, r4023, r4025, r4026, r4027:
Igor Sysoev <igor@sysoev.ru>
parents: 2065
diff changeset
12 $(1) docs/xsls/dump.xsls \
3e706fcccbf3 Merge of r3996, r3998, r4015, r4023, r4025, r4026, r4027:
Igor Sysoev <igor@sysoev.ru>
parents: 2065
diff changeset
13 | sed 's/ *$$//;/^ *$$/N;/\n *$$/D' > $(2)
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15 if [ ! -s $(2) ]; then rm $(2); fi; test -s $(2)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 endef
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
17
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
18 define XSLT
4047
3e706fcccbf3 Merge of r3996, r3998, r4015, r4023, r4025, r4026, r4027:
Igor Sysoev <igor@sysoev.ru>
parents: 2065
diff changeset
19 xmllint --noout --valid $2; \
3e706fcccbf3 Merge of r3996, r3998, r4015, r4023, r4025, r4026, r4027:
Igor Sysoev <igor@sysoev.ru>
parents: 2065
diff changeset
20 xsltproc -o $3 \
3e706fcccbf3 Merge of r3996, r3998, r4015, r4023, r4025, r4026, r4027:
Igor Sysoev <igor@sysoev.ru>
parents: 2065
diff changeset
21 $(shell echo $4 \\
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 | sed -e "s/\([^= ]*\)=\([^= ]*\)/--param \1 \"'\2'\"/g") \
4047
3e706fcccbf3 Merge of r3996, r3998, r4015, r4023, r4025, r4026, r4027:
Igor Sysoev <igor@sysoev.ru>
parents: 2065
diff changeset
23 $1 $2
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
24 endef
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
25
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
27 changes: $(TEMP)/$(NGINX)/CHANGES.ru \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
28 $(TEMP)/$(NGINX)/CHANGES
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
29
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
30
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
31 $(TEMP)/$(NGINX)/CHANGES.ru: docs/xml/nginx/changes.xml \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
32 docs/xslt/changes.xslt
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
33
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
34 test -d $(TEMP)/$(NGINX) || mkdir -p $(TEMP)/$(NGINX)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
35
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
36 xsltproc --param lang "'ru'" \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
37 -o $(TEMP)/$(NGINX)/CHANGES.ru \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38 docs/xslt/changes.xslt docs/xml/nginx/changes.xml
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
39
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
40
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
41 $(TEMP)/$(NGINX)/CHANGES: docs/xml/nginx/changes.xml \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
42 docs/xslt/changes.xslt
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
43
2065
520cb18b64fb fix switch
Igor Sysoev <igor@sysoev.ru>
parents: 775
diff changeset
44 test -d $(TEMP)/$(NGINX) || mkdir -p $(TEMP)/$(NGINX)
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
45
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
46 xsltproc --param lang "'en'" \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
47 -o $(TEMP)/$(NGINX)/CHANGES \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
48 docs/xslt/changes.xslt docs/xml/nginx/changes.xml
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
49
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
50
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
51 docs/xslt/changes.xslt: docs/xsls/changes.xsls
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
52
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
53 $(call XSLScript, docs/xsls/changes.xsls, $@)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
54