annotate misc/GNUmakefile @ 3755:76e3a93821b1

fix race condition if during reconfiguration two cache managers try to delete old inactive entries: one of them removes a entry just locked by other manager from the queue and the rbtree as long inactive entry, causes the latter manager to segfault leaving cache mutex locked, the bug has been introduced in r3727
author Igor Sysoev <igor@sysoev.ru>
date Thu, 02 Sep 2010 14:31:47 +0000
parents e05f33d93e35
children 569716d0e447 8106bf694512
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
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
2 VER = $(shell grep 'define NGINX_VERSION' src/core/nginx.h \
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
3 | sed -e 's/^.*\"\(.*\)\"/\1/')
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
4 NGINX = nginx-$(VER)
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
5 TEMP = tmp
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
6
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
7 OBJS = objs.msvc8
3717
e05f33d93e35 copy OpenSSL-0.9.8o LICENSE for nginx/Windows zip
Igor Sysoev <igor@sysoev.ru>
parents: 3496
diff changeset
8 OPENSSL = openssl-0.9.8o
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
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
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13 release:
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14 rm -rf $(TEMP)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 svn export -rHEAD . $(TEMP)/$(NGINX)
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 mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
19
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20 # delete incomplete sources
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23 rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.*
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
24 rm -r $(TEMP)/$(NGINX)/src/os/win32
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 rm -r $(TEMP)/$(NGINX)/src/mysql
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
27
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
28 rm $(TEMP)/$(NGINX)/src/http/modules/ngx_http_status_module.c
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 mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
31 mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
32 mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX)
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 $(MAKE) -f docs/GNUmakefile changes
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 rm -r $(TEMP)/$(NGINX)/docs
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
37 rm -r $(TEMP)/$(NGINX)/misc
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38
704
58bd27d72519 fix bug introduced with snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 701
diff changeset
39 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
40
701
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
41
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
42 snapshot:
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
43 rm -rf $(TEMP)
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
44
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
45 mkdir -p $(TEMP)
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
46 svn export . $(TEMP)/$(NGINX)
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
47
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
48 mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX)
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
49
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
50 # delete incomplete sources
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
51 rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
52 rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
53 rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.*
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
54 rm -r $(TEMP)/$(NGINX)/src/os/win32
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
55
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
56 rm -r $(TEMP)/$(NGINX)/src/mysql
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
57
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
58 rm $(TEMP)/$(NGINX)/src/http/modules/ngx_http_status_module.c
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
59
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
60 mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX)
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
61 mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX)
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
62 mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX)
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
63
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
64 $(MAKE) -f docs/GNUmakefile changes
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
65
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
66 rm -r $(TEMP)/$(NGINX)/docs
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
67 rm -r $(TEMP)/$(NGINX)/misc
b2c104777eeb snapshot support
Igor Sysoev <igor@sysoev.ru>
parents: 681
diff changeset
68
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
69 tar -c -z -f $(NGINX).tar.gz --directory $(TEMP) $(NGINX)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
70
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
71
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
72 zip:
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
73 rm -rf $(TEMP)
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
74 rm -f $(NGINX).zip
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
75
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
76 mkdir -p $(TEMP)/$(NGINX)/docs
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
77 mkdir -p $(TEMP)/$(NGINX)/logs
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
78 mkdir -p $(TEMP)/$(NGINX)/temp
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
79
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
80 svn export -rHEAD conf $(TEMP)/$(NGINX)/conf/
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
81 perl -pi -e 's/$$/\r/' $(TEMP)/$(NGINX)/conf/*
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
82
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
83 svn export -rHEAD contrib $(TEMP)/$(NGINX)/contrib/
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
84 svn export -rHEAD docs/html $(TEMP)/$(NGINX)/html/
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
85
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
86 $(MAKE) -f docs/GNUmakefile changes
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
87
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
88 cp -p $(OBJS)/nginx.exe $(TEMP)/$(NGINX)
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
89
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
90 cp -p docs/text/LICENSE $(TEMP)/$(NGINX)/docs/
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
91 cp -p docs/text/README $(TEMP)/$(NGINX)/docs/
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
92 mv $(TEMP)/$(NGINX)/CHANGES* $(TEMP)/$(NGINX)/docs/
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
93
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
94 cp -p $(OBJS)/lib/$(OPENSSL)/LICENSE \
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
95 $(TEMP)/$(NGINX)/docs/OpenSSL.LICENSE
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
96
2871
c7fe4b9118d2 fix "make zip", the bug has been introduced in r2841
Igor Sysoev <igor@sysoev.ru>
parents: 2734
diff changeset
97 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
98 $(TEMP)/$(NGINX)/docs/PCRE.LICENCE
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
99
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
100 perl -ne 'print if /^ \(C\) 1995-2004/ .. /^ jloup\@gzip.org/' \
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
101 $(OBJS)/lib/$(ZLIB)/README \
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
102 > $(TEMP)/$(NGINX)/docs/zlib.LICENSE
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
103
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
104 touch -r $(OBJS)/lib/$(ZLIB)/README \
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
105 $(TEMP)/$(NGINX)/docs/zlib.LICENSE
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
106
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
107 cd $(TEMP) && zip -r ../$(NGINX).zip $(NGINX)
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
108
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
109
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 1662
diff changeset
110 icons: src/os/win32/nginx.ico
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
111
2734
37580bd13ca5 add 48x48 icon
Igor Sysoev <igor@sysoev.ru>
parents: 2725
diff changeset
112 # 48x48, 32x32 and 16x16 icons
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
113
2734
37580bd13ca5 add 48x48 icon
Igor Sysoev <igor@sysoev.ru>
parents: 2725
diff changeset
114 src/os/win32/nginx.ico: src/os/win32/nginx_icon48.xpm \
37580bd13ca5 add 48x48 icon
Igor Sysoev <igor@sysoev.ru>
parents: 2725
diff changeset
115 src/os/win32/nginx_icon32.xpm \
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
116 src/os/win32/nginx_icon16.xpm
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
117
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
118 test -d $(TEMP) || mkdir $(TEMP)
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
119
2734
37580bd13ca5 add 48x48 icon
Igor Sysoev <igor@sysoev.ru>
parents: 2725
diff changeset
120 xpmtoppm --alphaout=$(TEMP)/nginx48.pbm \
37580bd13ca5 add 48x48 icon
Igor Sysoev <igor@sysoev.ru>
parents: 2725
diff changeset
121 src/os/win32/nginx_icon48.xpm > $(TEMP)/nginx48.ppm
37580bd13ca5 add 48x48 icon
Igor Sysoev <igor@sysoev.ru>
parents: 2725
diff changeset
122
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
123 xpmtoppm --alphaout=$(TEMP)/nginx32.pbm \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
124 src/os/win32/nginx_icon32.xpm > $(TEMP)/nginx32.ppm
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
125
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
126 xpmtoppm --alphaout=$(TEMP)/nginx16.pbm \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
127 src/os/win32/nginx_icon16.xpm > $(TEMP)/nginx16.ppm
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
128
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
129 ppmtowinicon -output src/os/win32/nginx.ico -andpgms \
2734
37580bd13ca5 add 48x48 icon
Igor Sysoev <igor@sysoev.ru>
parents: 2725
diff changeset
130 $(TEMP)/nginx48.ppm $(TEMP)/nginx48.pbm \
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
131 $(TEMP)/nginx32.ppm $(TEMP)/nginx32.pbm \
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
132 $(TEMP)/nginx16.ppm $(TEMP)/nginx16.pbm