comparison auto/os/features @ 168:3314be145cb9 NGINX_0_3_31

nginx 0.3.31 *) 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; bug 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 <http://sysoev.ru>
date Fri, 10 Mar 2006 00:00:00 +0300
parents df17fbafec8f
children 1b490fc19afa
comparison
equal deleted inserted replaced
167:544cb5cba207 168:3314be145cb9
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