aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_open_file_cache.c
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2011-09-05 16:36:19 +0000
committerMaxim Dounin <mdounin@mdounin.ru>2011-09-05 16:36:19 +0000
commit4f65a05d1819392acdef365f387fa078baaabaab (patch)
treea0e33e0aa7456138366e8eff2143a8dfabfe5e25 /src/core/ngx_open_file_cache.c
parent3a73e50498cc7bba3d2fd2ac31236b5a1b2c287e (diff)
downloadnginx-4f65a05d1819392acdef365f387fa078baaabaab.tar.gz
nginx-4f65a05d1819392acdef365f387fa078baaabaab.zip
Bugfix: open_file_cache lost is_directio flag.
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.
Diffstat (limited to 'src/core/ngx_open_file_cache.c')
-rw-r--r--src/core/ngx_open_file_cache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/ngx_open_file_cache.c b/src/core/ngx_open_file_cache.c
index a70385c35..1cce9e92b 100644
--- a/src/core/ngx_open_file_cache.c
+++ b/src/core/ngx_open_file_cache.c
@@ -290,6 +290,8 @@ ngx_open_cached_file(ngx_open_file_cache_t *cache, ngx_str_t *name,
file->use_event = 1;
}
+ of->is_directio = file->is_directio;
+
goto renew;
}