Mercurial > hg > nginx
comparison auto/os/features @ 619:7a16e281c01f release-0.3.31
nginx-0.3.31-RELEASE import
*) Change: now nginx passes the malformed proxied backend responses.
*) Feature: the "listen" directives support the address in the "*:port"
form.
*) Feature: the EVFILER_TIMER support in MacOSX 10.4.
*) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout
bug.
Thanks to Andrei Nigmatulin.
*) Bugfix: if there were several "listen" directives listening one
various addresses inside one server, then server names like
"*.domain.tld" worked for first address only; the bug had appeared
in 0.3.18.
*) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive
and the request body was in temporarily file then the request was
not transferred.
*) Bugfix: perl 5.8.8 compatibility.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 10 Mar 2006 12:51:52 +0000 |
parents | 4d9ea73a627a |
children | 0216fd1471f3 |
comparison
equal
deleted
inserted
replaced
618:47f8a854752e | 619:7a16e281c01f |
---|---|
85 ngx_feature_incs="#include <sys/event.h>" | 85 ngx_feature_incs="#include <sys/event.h>" |
86 ngx_feature_libs= | 86 ngx_feature_libs= |
87 ngx_feature_test="struct kevent kev; | 87 ngx_feature_test="struct kevent kev; |
88 kev.fflags = NOTE_LOWAT;" | 88 kev.fflags = NOTE_LOWAT;" |
89 . auto/feature | 89 . auto/feature |
90 | |
91 | |
92 ngx_feature="kqueue's EVFILT_TIMER" | |
93 ngx_feature_name="NGX_HAVE_TIMER_EVENT" | |
94 ngx_feature_run=yes | |
95 ngx_feature_incs="#include <sys/event.h> | |
96 #include <sys/time.h>" | |
97 ngx_feature_libs= | |
98 ngx_feature_test="int kq; | |
99 struct kevent kev; | |
100 struct timespec ts; | |
101 | |
102 if ((kq = kqueue()) == -1) return 1; | |
103 | |
104 kev.ident = 0; | |
105 kev.filter = EVFILT_TIMER; | |
106 kev.flags = EV_ADD|EV_ENABLE; | |
107 kev.fflags = 0; | |
108 kev.data = 1000; | |
109 kev.udata = 0; | |
110 | |
111 ts.tv_sec = 0; | |
112 ts.tv_nsec = 0; | |
113 | |
114 if (kevent(kq, &kev, 1, &kev, 1, &ts) == -1) return 1; | |
115 | |
116 if (kev.flags & EV_ERROR) return 1;" | |
117 | |
118 . auto/feature | |
119 | |
120 | |
121 if [ "$NGX_SYSTEM" = "Darwin" ]; then | |
122 | |
123 ngx_feature="MacOSX 64-bit kqueue millisecond timeout bug" | |
124 ngx_feature_name= | |
125 ngx_feature_run=bug | |
126 ngx_feature_incs="#include <sys/event.h> | |
127 #include <sys/time.h>" | |
128 ngx_feature_libs= | |
129 ngx_feature_test="int kq; | |
130 struct kevent kev; | |
131 struct timespec ts; | |
132 struct timeval tv, tv0; | |
133 | |
134 kq = kqueue(); | |
135 | |
136 ts.tv_sec = 0; | |
137 ts.tv_nsec = 999000000; | |
138 | |
139 gettimeofday(&tv, 0); | |
140 kevent(kq, NULL, 0, &kev, 1, &ts); | |
141 gettimeofday(&tv0, 0); | |
142 timersub(&tv0, &tv, &tv); | |
143 | |
144 if (tv.tv_sec * 1000000 + tv.tv_usec < 900000) return 1;" | |
145 | |
146 . auto/feature | |
147 | |
148 ngx_macosx_kevent_bug=$ngx_found | |
149 fi | |
90 fi | 150 fi |
91 fi | 151 fi |
92 | 152 |
153 | |
154 if [ ".$ngx_macosx_kevent_bug" = .yes ]; then | |
155 | |
156 cat << END >> $NGX_AUTO_CONFIG_H | |
157 | |
158 #define NGX_MACOSX_KEVENT_BUG_SHIFT << 32 | |
159 | |
160 END | |
161 | |
162 else | |
163 cat << END >> $NGX_AUTO_CONFIG_H | |
164 | |
165 #define NGX_MACOSX_KEVENT_BUG_SHIFT | |
166 | |
167 END | |
168 fi | |
169 | |
170 | |
93 if [ "$NGX_SYSTEM" = "NetBSD" ]; then | 171 if [ "$NGX_SYSTEM" = "NetBSD" ]; then |
94 | |
95 have=NGX_HAVE_TIMER_EVENT . auto/have | |
96 echo " + kqueue's EVFILT_TIMER found" | |
97 | 172 |
98 # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t" | 173 # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t" |
99 | 174 |
100 cat << END >> $NGX_AUTO_CONFIG_H | 175 cat << END >> $NGX_AUTO_CONFIG_H |
101 | 176 |