summaryrefslogtreecommitdiffhomepage
path: root/src/os/unix/ngx_file_aio_read.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-01-28Fixed portability issues with union sigval.Sergey Kandaurov1-1/+1
AIO support in nginx was originally developed against FreeBSD versions 4-6, where the sival_ptr field was named as sigval_ptr (seemingly by mistake[1]), which made nginx use the only name available then. The standard-complaint name was restored in 2005 (first appeared in FreeBSD 7.0, 2008), retaining compatibility with previous versions[2][3]. In DragonFly, similar changes were committed in 2009[4], with backward compatibility recently removed[5]. The change switches to the standard name, retaining compatibility with old FreeBSD versions. [1] https://svnweb.freebsd.org/changeset/base/48621 [2] https://svnweb.freebsd.org/changeset/base/152029 [3] https://svnweb.freebsd.org/changeset/base/174003 [4] https://gitweb.dragonflybsd.org/dragonfly.git/commit/3693401 [5] https://gitweb.dragonflybsd.org/dragonfly.git/commit/7875042
2016-03-31Fixed logging.Sergey Kandaurov1-1/+1
2015-02-11Refactored sendfile() AIO preload.Valentin Bartenev1-17/+25
This reduces layering violation and simplifies the logic of AIO preread, since it's now triggered by the send chain function itself without falling back to the copy filter. The context of AIO operation is now stored per file buffer, which makes it possible to properly handle cases when multiple buffers come from different locations, each with its own configuration.
2012-01-30Fixed AIO error handling on FreeBSD.Maxim Dounin1-18/+9
The aio_return() must be called regardless of the error returned by aio_error(). Not calling it resulted in various problems up to segmentation faults (as AIO events are level-triggered and were reported again and again). Additionally, in "aio sendfile" case r->blocked was incremented in case of error returned from ngx_file_aio_read(), thus causing request hangs.
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2011-09-19Replaced "can not" with "cannot" and "could not" in a bunch of places.Ruslan Ermilov1-1/+1
Fixed nearby grammar errors.
2011-09-05Bugfix: open_file_cache lost is_directio flag.Maxim Dounin1-0/+3
On file retest open_file_cache lost is_directio if file wasn't changed. This caused unaligned operations under Linux to fail with EINVAL. It wasn't noticeable with AIO though, as errors wasn't properly logged.
2009-11-05export aio presence knowledge to prevent using "aio sendfile",Igor Sysoev1-6/+5
if aio does not present
2009-08-30aio sendfileIgor Sysoev1-1/+5
2009-08-28FreeBSD and Linux AIO supportIgor Sysoev1-0/+210