Mercurial > hg > nginx
view docs/dtd/changes.dtd @ 7631:b4dbf8b98f9a
Fixed premature background subrequest finalization.
When "aio" or "aio threads" is used while processing the response body of an
in-memory background subrequest, the subrequest could be finalized with an aio
operation still in progress. Upon aio completion either parent request is
woken or the old r->write_event_handler is called again. The latter may result
in request errors. In either case post_subrequest handler is never called with
the full response body, which is typically expected when using in-memory
subrequests.
Currently in nginx background subrequests are created by the upstream module
and the mirror module. The issue does not manifest itself with these
subrequests because they are header-only. But it can manifest itself with
third-party modules which create in-memory background subrequests.
author | Dmitry Volyntsev <xeioex@nginx.com> |
---|---|
date | Mon, 02 Mar 2020 20:07:36 +0300 |
parents | 5e3bda6f5208 |
children | e79c7521aaf4 |
line wrap: on
line source
<!ENTITY nbsp " " > <!ENTITY mdash " - " > <!ELEMENT change_log (changes)* > <!ATTLIST change_log title CDATA #REQUIRED > <!ELEMENT changes (change)* > <!ATTLIST changes ver CDATA #REQUIRED date CDATA #REQUIRED > <!ELEMENT change (para)* > <!ATTLIST change type (bugfix | feature | change | security | workaround) #IMPLIED > <!ELEMENT para (#PCDATA | at | br | nobr)* > <!ATTLIST para lang (ru | en) #REQUIRED > <!ELEMENT at EMPTY > <!ELEMENT br EMPTY > <!ELEMENT nobr (#PCDATA) >