diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2010-06-07 12:08:44 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2010-06-07 12:08:44 +0000 |
| commit | 9d4085af44e8eb9c18dbaa017b6deb2bb11644a2 (patch) | |
| tree | 58e5c57912ce874cd1e43e7ca25e6fa96d8a6999 /src/core | |
| parent | 400683ac9102ee18564bb6eff0037e710fb48d9f (diff) | |
| download | nginx-9d4085af44e8eb9c18dbaa017b6deb2bb11644a2.tar.gz nginx-9d4085af44e8eb9c18dbaa017b6deb2bb11644a2.tar.bz2 | |
merge r3498, r3499:
opening files fixes:
*) use non-blocking open() not to hang on FIFO files, etc.
*) do not log misleading errno in "not a regular file" error
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/ngx_open_file_cache.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/ngx_open_file_cache.c b/src/core/ngx_open_file_cache.c index 5f6e0b263..034bf3b60 100644 --- a/src/core/ngx_open_file_cache.c +++ b/src/core/ngx_open_file_cache.c @@ -487,7 +487,14 @@ ngx_open_and_stat_file(u_char *name, ngx_open_file_info_t *of, ngx_log_t *log) } if (!of->log) { - fd = ngx_open_file(name, NGX_FILE_RDONLY, NGX_FILE_OPEN, 0); + + /* + * Use non-blocking open() not to hang on FIFO files, etc. + * This flag has no effect on a regular files. + */ + + fd = ngx_open_file(name, NGX_FILE_RDONLY|NGX_FILE_NONBLOCK, + NGX_FILE_OPEN, 0); } else { fd = ngx_open_file(name, NGX_FILE_APPEND, NGX_FILE_CREATE_OR_OPEN, |
