Mercurial > hg > nginx-quic
diff src/http/ngx_http_cache.c @ 200:abeaebe0a33c
nginx-0.0.1-2003-11-28-20:41:47 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 28 Nov 2003 17:41:47 +0000 |
parents | a65b630b3a66 |
children | 267ea1d98683 |
line wrap: on
line diff
--- a/src/http/ngx_http_cache.c +++ b/src/http/ngx_http_cache.c @@ -176,6 +176,29 @@ ngx_http_cache_t *ngx_http_cache_alloc(n } +void ngx_http_cache_unlock(ngx_http_cache_hash_t *hash, + ngx_http_cache_t *cache, ngx_log_t *log) +{ + ngx_mutex_lock(&hash->mutex); + + cache->refs--; + + if (cache->refs == 0 && cache->deleted) { +ngx_log_debug(log, "CLOSE FILE: %d" _ cache->fd); + if (cache->fd != NGX_INVALID_FILE) { + if (ngx_close_file(cache->fd) == NGX_FILE_ERROR) { + ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, + ngx_close_file_n " \"%s\" failed", + cache->key.data); + } + } + cache->key.data = NULL; + } + + ngx_mutex_unlock(&hash->mutex); +} + + int ngx_http_cache_open_file(ngx_http_cache_ctx_t *ctx, ngx_file_uniq_t uniq) { ssize_t n;