Mercurial > hg > nginx
annotate auto/os/win32 @ 5064:10f5831cf56e stable-1.2
Merge of r5027, r5028, r5029: fastcgi_keep_conn fixes.
*) FastCGI: fixed wrong connection close with fastcgi_keep_conn.
With fastcgi_keep_conn it was possible that connection was closed after
FCGI_STDERR record with zero padding and without any further data read
yet. This happended as f->state was set to ngx_http_fastcgi_st_padding
and then "break" happened, resulting in p->length being set to
f->padding, i.e. 0 (which in turn resulted in connection close).
Fix is to make sure we continue the loop after f->state is set.
*) FastCGI: unconditional state transitions. Checks for f->padding
before state transitions make code hard to follow, remove them and
make sure we always do another loop iteration after f->state is
set to ngx_http_fastcgi_st_padding.
*) FastCGI: proper handling of split fastcgi end request. If fastcgi
end request record was split between several network packets, with
fastcgi_keep_conn it was possible that connection was saved in
incorrect state (e.g. with padding bytes not yet read).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 11 Feb 2013 16:11:14 +0000 |
parents | d620f497c50f |
children | 3d2d3e1cf427 |
rev | line source |
---|---|
455 | 1 |
2 # Copyright (C) Igor Sysoev | |
4412 | 3 # Copyright (C) Nginx, Inc. |
455 | 4 |
5 | |
509 | 6 have=NGX_WIN32 . auto/have_headers |
455 | 7 |
8 CORE_INCS="$WIN32_INCS" | |
9 CORE_DEPS="$WIN32_DEPS" | |
10 CORE_SRCS="$WIN32_SRCS $IOCP_SRCS" | |
11 OS_CONFIG="$WIN32_CONFIG" | |
2731
06d53ecd70c8
*) move advapi32.lib to core libs since it's required for Registry and Event Log
Igor Sysoev <igor@sysoev.ru>
parents:
509
diff
changeset
|
12 CORE_LIBS="$CORE_LIBS advapi32.lib ws2_32.lib" |
461 | 13 NGX_ICONS="$NGX_WIN32_ICONS" |
2813
c00763aa5e1b
divide select module into two modules: Unix and Win32 ones
Igor Sysoev <igor@sysoev.ru>
parents:
2731
diff
changeset
|
14 SELECT_SRCS=$WIN32_SELECT_SRCS |
455 | 15 |
16 EVENT_MODULES="$EVENT_MODULES $IOCP_MODULE" | |
17 EVENT_FOUND=YES | |
18 | |
19 if [ $EVENT_SELECT = NO ]; then | |
20 CORE_SRCS="$CORE_SRCS $SELECT_SRCS" | |
21 EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE" | |
22 fi | |
23 | |
2814 | 24 if [ $NGX_IPV6 = YES ]; then |
25 have=NGX_HAVE_INET6 . auto/have | |
26 fi | |
27 | |
469 | 28 have=NGX_HAVE_AIO . auto/have |
29 have=NGX_HAVE_IOCP . auto/have |