Mercurial > hg > nginx
comparison src/core/ngx_open_file_cache.c @ 1937:c46432b9dbb7
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
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 13 Mar 2008 12:59:25 +0000 |
parents | e829527ca810 |
children | ed71d58c0cf3 |
comparison
equal
deleted
inserted
replaced
1936:e829527ca810 | 1937:c46432b9dbb7 |
---|---|
409 if (file && file->count == 0) { | 409 if (file && file->count == 0) { |
410 ngx_rbtree_delete(&cache->rbtree, &file->node); | 410 ngx_rbtree_delete(&cache->rbtree, &file->node); |
411 | 411 |
412 cache->current--; | 412 cache->current--; |
413 | 413 |
414 if (ngx_close_file(file->fd) == NGX_FILE_ERROR) { | 414 if (of->fd != NGX_INVALID_FILE) { |
415 ngx_log_error(NGX_LOG_ALERT, pool->log, ngx_errno, | 415 if (ngx_close_file(file->fd) == NGX_FILE_ERROR) { |
416 ngx_close_file_n " \"%s\" failed", file->name); | 416 ngx_log_error(NGX_LOG_ALERT, pool->log, ngx_errno, |
417 ngx_close_file_n " \"%s\" failed", file->name); | |
418 } | |
417 } | 419 } |
418 | 420 |
419 ngx_free(file->name); | 421 ngx_free(file->name); |
420 ngx_free(file); | 422 ngx_free(file); |
421 } | 423 } |