diff options
author | Igor Sysoev <igor@sysoev.ru> | 2008-03-13 12:59:25 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2008-03-13 12:59:25 +0000 |
commit | 3799f5cb4155ebf00520dd93823fb3c208016900 (patch) | |
tree | 1f268c40c58485c0aed320f67e63b7dac06592bc /src/core/ngx_open_file_cache.c | |
parent | 732a34a137bc30179e0784ec392931f51ba605c0 (diff) | |
download | nginx-3799f5cb4155ebf00520dd93823fb3c208016900.tar.gz nginx-3799f5cb4155ebf00520dd93823fb3c208016900.zip |
fix case when errors are not cached,
and a file was not used often enough to keep open
and it has been removed before it was kept open
Diffstat (limited to 'src/core/ngx_open_file_cache.c')
-rw-r--r-- | src/core/ngx_open_file_cache.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/ngx_open_file_cache.c b/src/core/ngx_open_file_cache.c index abd0e2ae9..6bb6fd252 100644 --- a/src/core/ngx_open_file_cache.c +++ b/src/core/ngx_open_file_cache.c @@ -411,9 +411,11 @@ failed: cache->current--; - if (ngx_close_file(file->fd) == NGX_FILE_ERROR) { - ngx_log_error(NGX_LOG_ALERT, pool->log, ngx_errno, - ngx_close_file_n " \"%s\" failed", file->name); + if (of->fd != NGX_INVALID_FILE) { + if (ngx_close_file(file->fd) == NGX_FILE_ERROR) { + ngx_log_error(NGX_LOG_ALERT, pool->log, ngx_errno, + ngx_close_file_n " \"%s\" failed", file->name); + } } ngx_free(file->name); |