aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/http/ngx_http_cache.h2
-rw-r--r--src/http/ngx_http_file_cache.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/src/http/ngx_http_cache.h b/src/http/ngx_http_cache.h
index d36fa779c..e93278d47 100644
--- a/src/http/ngx_http_cache.h
+++ b/src/http/ngx_http_cache.h
@@ -153,6 +153,8 @@ struct ngx_http_file_cache_s {
time_t inactive;
+ time_t fail_time;
+
ngx_uint_t files;
ngx_uint_t loader_files;
ngx_msec_t last;
diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c
index 37c475409..c8b19e1cc 100644
--- a/src/http/ngx_http_file_cache.c
+++ b/src/http/ngx_http_file_cache.c
@@ -2094,6 +2094,12 @@ ngx_http_file_cache_add(ngx_http_file_cache_t *cache, ngx_http_cache_t *c)
fcn = ngx_slab_calloc_locked(cache->shpool,
sizeof(ngx_http_file_cache_node_t));
if (fcn == NULL) {
+ if (cache->fail_time != ngx_time()) {
+ cache->fail_time = ngx_time();
+ ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, 0,
+ "could not allocate node%s", cache->shpool->log_ctx);
+ }
+
ngx_shmtx_unlock(&cache->shpool->mutex);
return NGX_ERROR;
}