Mercurial > hg > nginx
annotate contrib/README @ 7951:c7a8bdf5af55
Changed ngx_chain_update_chains() to test tag first (ticket #2248).
Without this change, aio used with HTTP/2 can result in connection hang,
as observed with "aio threads; aio_write on;" and proxying (ticket #2248).
The problem is that HTTP/2 updates buffers outside of the output filters
(notably, marks them as sent), and then posts a write event to call
output filters. If a filter does not call the next one for some reason
(for example, because of an AIO operation in progress), this might
result in a state when the owner of a buffer already called
ngx_chain_update_chains() and can reuse the buffer, while the same buffer
is still sitting in the busy chain of some other filter.
In the particular case a buffer was sitting in output chain's ctx->busy,
and was reused by event pipe. Output chain's ctx->busy was permanently
blocked by it, and this resulted in connection hang.
Fix is to change ngx_chain_update_chains() to skip buffers from other
modules unconditionally, without trying to wait for these buffers to
become empty.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 30 Oct 2021 02:39:19 +0300 |
parents | 1bdf906bba99 |
children |
rev | line source |
---|---|
537 | 1 |
667 | 2 geo2nginx.pl by Andrei Nigmatulin |
3 | |
4 The perl script to convert CSV geoip database ( free download | |
5 at http://www.maxmind.com/app/geoip_country ) to format, suitable | |
6 for use by the ngx_http_geo_module. | |
7 | |
537 | 8 |
667 | 9 unicode2nginx by Maxim Dounin |
10 | |
11 The perl script to convert unicode mappings ( available | |
12 at http://www.unicode.org/Public/MAPPINGS/ ) to the nginx | |
13 configuration file format. | |
14 Two generated full maps for windows-1251 and koi8-r. | |
15 | |
5461
1bdf906bba99
Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents:
667
diff
changeset
|
16 |
1bdf906bba99
Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents:
667
diff
changeset
|
17 vim by Evan Miller |
1bdf906bba99
Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents:
667
diff
changeset
|
18 |
1bdf906bba99
Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents:
667
diff
changeset
|
19 Syntax highlighting of nginx configuration for vim, to be |
1bdf906bba99
Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents:
667
diff
changeset
|
20 placed into ~/.vim/. |
1bdf906bba99
Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents:
667
diff
changeset
|
21 |