Mercurial > hg > nginx
annotate misc/GNUmakefile @ 4135:d8e24515176e
Fix of cpu hog in event pipe.
If client closed connection in ngx_event_pipe_write_to_downstream(), buffers
in the "out" chain were lost. This caused cpu hog if all available buffers
were in the "out" chain. Fix is to call ngx_chain_update_chains() before
checking return code of output filter to avoid loosing buffers in the "out"
chain.
Note that this situation (all available buffers in the "out" chain) isn't
normal, it should be prevented by busy buffers limit. Though right now it
may happen with complex protocols like fastcgi. This should be addressed
separately.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 20 Sep 2011 09:55:27 +0000 |
parents | 5c3633105878 |
children | 1da3c3b429c1 |
rev | line source |
---|---|
681 | 1 |
2725 | 2 VER = $(shell grep 'define NGINX_VERSION' src/core/nginx.h \ |
3 | sed -e 's/^.*\"\(.*\)\"/\1/') | |
4 NGINX = nginx-$(VER) | |
5 TEMP = tmp | |
6 | |
7 OBJS = objs.msvc8 | |
3975
3ce20f216ede
copy OpenSSL-1.0.0d LICENSE for nginx/Windows zip
Igor Sysoev <igor@sysoev.ru>
parents:
3869
diff
changeset
|
8 OPENSSL = openssl-1.0.0d |
2725 | 9 ZLIB = zlib-1.2.3 |
2871
c7fe4b9118d2
fix "make zip", the bug has been introduced in r2841
Igor Sysoev <igor@sysoev.ru>
parents:
2734
diff
changeset
|
10 PCRE = pcre-7.9 |
681 | 11 |
12 | |
13 release: | |
14 rm -rf $(TEMP) | |
15 | |
16 svn export -rHEAD . $(TEMP)/$(NGINX) | |
17 | |
18 mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX) | |
19 | |
20 # delete incomplete sources | |
21 rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c | |
22 rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c | |
23 rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.* | |
24 rm -r $(TEMP)/$(NGINX)/src/os/win32 | |
25 | |
26 rm -r $(TEMP)/$(NGINX)/src/mysql | |
27 | |
28 rm $(TEMP)/$(NGINX)/src/http/modules/ngx_http_status_module.c | |
29 | |
30 mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX) | |
31 mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX) | |
32 mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX) | |
3801
569716d0e447
add man page in release tarball and fix man building procedure
Igor Sysoev <igor@sysoev.ru>
parents:
3717
diff
changeset
|
33 mv $(TEMP)/$(NGINX)/docs/man $(TEMP)/$(NGINX) |
681 | 34 |
35 $(MAKE) -f docs/GNUmakefile changes | |
36 | |
4030
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
37 # delete incomplete draft documentation |
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
38 rm -r $(TEMP)/$(NGINX)/html/http |
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
39 |
681 | 40 rm -r $(TEMP)/$(NGINX)/docs |
41 rm -r $(TEMP)/$(NGINX)/misc | |
42 | |
704
58bd27d72519
fix bug introduced with snapshot support
Igor Sysoev <igor@sysoev.ru>
parents:
701
diff
changeset
|
43 tar -c -z -f $(NGINX).tar.gz --directory $(TEMP) $(NGINX) |
58bd27d72519
fix bug introduced with snapshot support
Igor Sysoev <igor@sysoev.ru>
parents:
701
diff
changeset
|
44 |
701 | 45 |
46 snapshot: | |
47 rm -rf $(TEMP) | |
48 | |
49 mkdir -p $(TEMP) | |
50 svn export . $(TEMP)/$(NGINX) | |
51 | |
52 mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX) | |
53 | |
54 # delete incomplete sources | |
55 rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c | |
56 rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c | |
57 rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.* | |
58 rm -r $(TEMP)/$(NGINX)/src/os/win32 | |
59 | |
60 rm -r $(TEMP)/$(NGINX)/src/mysql | |
61 | |
62 rm $(TEMP)/$(NGINX)/src/http/modules/ngx_http_status_module.c | |
63 | |
64 mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX) | |
65 mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX) | |
66 mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX) | |
3801
569716d0e447
add man page in release tarball and fix man building procedure
Igor Sysoev <igor@sysoev.ru>
parents:
3717
diff
changeset
|
67 mv $(TEMP)/$(NGINX)/docs/man $(TEMP)/$(NGINX) |
701 | 68 |
69 $(MAKE) -f docs/GNUmakefile changes | |
70 | |
71 rm -r $(TEMP)/$(NGINX)/docs | |
72 rm -r $(TEMP)/$(NGINX)/misc | |
73 | |
681 | 74 tar -c -z -f $(NGINX).tar.gz --directory $(TEMP) $(NGINX) |
75 | |
76 | |
2725 | 77 zip: |
78 rm -rf $(TEMP) | |
79 rm -f $(NGINX).zip | |
80 | |
81 mkdir -p $(TEMP)/$(NGINX)/docs | |
82 mkdir -p $(TEMP)/$(NGINX)/logs | |
83 mkdir -p $(TEMP)/$(NGINX)/temp | |
84 | |
85 svn export -rHEAD conf $(TEMP)/$(NGINX)/conf/ | |
86 perl -pi -e 's/$$/\r/' $(TEMP)/$(NGINX)/conf/* | |
87 | |
88 svn export -rHEAD contrib $(TEMP)/$(NGINX)/contrib/ | |
89 svn export -rHEAD docs/html $(TEMP)/$(NGINX)/html/ | |
90 | |
4030
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
91 # delete incomplete draft documentation |
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
92 rm -r $(TEMP)/$(NGINX)/html/http |
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
93 |
2725 | 94 $(MAKE) -f docs/GNUmakefile changes |
95 | |
96 cp -p $(OBJS)/nginx.exe $(TEMP)/$(NGINX) | |
97 | |
98 cp -p docs/text/LICENSE $(TEMP)/$(NGINX)/docs/ | |
99 cp -p docs/text/README $(TEMP)/$(NGINX)/docs/ | |
100 mv $(TEMP)/$(NGINX)/CHANGES* $(TEMP)/$(NGINX)/docs/ | |
101 | |
102 cp -p $(OBJS)/lib/$(OPENSSL)/LICENSE \ | |
103 $(TEMP)/$(NGINX)/docs/OpenSSL.LICENSE | |
104 | |
2871
c7fe4b9118d2
fix "make zip", the bug has been introduced in r2841
Igor Sysoev <igor@sysoev.ru>
parents:
2734
diff
changeset
|
105 cp -p $(OBJS)/lib/$(PCRE)/LICENCE \ |
c7fe4b9118d2
fix "make zip", the bug has been introduced in r2841
Igor Sysoev <igor@sysoev.ru>
parents:
2734
diff
changeset
|
106 $(TEMP)/$(NGINX)/docs/PCRE.LICENCE |
2725 | 107 |
108 perl -ne 'print if /^ \(C\) 1995-2004/ .. /^ jloup\@gzip.org/' \ | |
109 $(OBJS)/lib/$(ZLIB)/README \ | |
110 > $(TEMP)/$(NGINX)/docs/zlib.LICENSE | |
111 | |
112 touch -r $(OBJS)/lib/$(ZLIB)/README \ | |
113 $(TEMP)/$(NGINX)/docs/zlib.LICENSE | |
114 | |
115 cd $(TEMP) && zip -r ../$(NGINX).zip $(NGINX) | |
116 | |
117 | |
118 icons: src/os/win32/nginx.ico | |
681 | 119 |
2734 | 120 # 48x48, 32x32 and 16x16 icons |
681 | 121 |
2734 | 122 src/os/win32/nginx.ico: src/os/win32/nginx_icon48.xpm \ |
123 src/os/win32/nginx_icon32.xpm \ | |
681 | 124 src/os/win32/nginx_icon16.xpm |
125 | |
126 test -d $(TEMP) || mkdir $(TEMP) | |
127 | |
2734 | 128 xpmtoppm --alphaout=$(TEMP)/nginx48.pbm \ |
129 src/os/win32/nginx_icon48.xpm > $(TEMP)/nginx48.ppm | |
130 | |
681 | 131 xpmtoppm --alphaout=$(TEMP)/nginx32.pbm \ |
132 src/os/win32/nginx_icon32.xpm > $(TEMP)/nginx32.ppm | |
133 | |
134 xpmtoppm --alphaout=$(TEMP)/nginx16.pbm \ | |
135 src/os/win32/nginx_icon16.xpm > $(TEMP)/nginx16.ppm | |
136 | |
137 ppmtowinicon -output src/os/win32/nginx.ico -andpgms \ | |
2734 | 138 $(TEMP)/nginx48.ppm $(TEMP)/nginx48.pbm \ |
681 | 139 $(TEMP)/nginx32.ppm $(TEMP)/nginx32.pbm \ |
140 $(TEMP)/nginx16.ppm $(TEMP)/nginx16.pbm |