[PATCH 0 of 4] aio fixes

Maxim Dounin mdounin at mdounin.ru
Mon Nov 27 02:50:23 UTC 2023


Here is a patch series which fixes several issues with AIO (threaded IO)
and some related issues, initially inspired by ticket #2555.

Most notably, it fixes various issues with incorrect request termination
with subrequests when an AIO operation is running in another subrequest,
as observed in ticket #2555 (first patch).  Additionally, it fixes an
issue with request termination due to filter finalization with
ngx_event_pipe() on stack (second patch), fixes incorrect alerts about
open sockets left when SIGQUIT is followed by SIGTERM (third patch),
and introduces guard timers for AIO operations to prevent premature
shutdown of worker processes (forth patch, ticket #2162).

In tests this fixes two alerts as observed with aio_write, in
image_filter_finalize.t and in proxy_cache_use_stale.t:

image_filter_finalize.t (Wstat: 0 Tests: 5 Failed: 0)
  TODO passed:   4
proxy_cache_use_stale.t (Wstat: 0 Tests: 36 Failed: 0)
  TODO passed:   35

Review and testing appreciated.

Maxim Dounin

More information about the nginx-devel mailing list