improve ngx_slab_alloc() error logging
diff --git a/src/http/modules/ngx_http_limit_req_module.c b/src/http/modules/ngx_http_limit_req_module.c
index dac62ed..36787b0 100644
--- a/src/http/modules/ngx_http_limit_req_module.c
+++ b/src/http/modules/ngx_http_limit_req_module.c
@@ -457,6 +457,7 @@
{
ngx_http_limit_req_ctx_t *octx = data;
+ size_t len;
ngx_rbtree_node_t *sentinel;
ngx_http_limit_req_ctx_t *ctx;
@@ -500,6 +501,16 @@
ngx_queue_init(ctx->queue);
+ len = sizeof(" in limit_req zone \"\"") + shm_zone->name.len;
+
+ ctx->shpool->log_ctx = ngx_slab_alloc(ctx->shpool, len);
+ if (ctx->shpool->log_ctx == NULL) {
+ return NGX_ERROR;
+ }
+
+ ngx_sprintf(ctx->shpool->log_ctx, " in limit_req zone \"%V\"%Z",
+ &shm_zone->name);
+
return NGX_OK;
}
diff --git a/src/http/modules/ngx_http_limit_zone_module.c b/src/http/modules/ngx_http_limit_zone_module.c
index 3fc4efa..1519e7f 100644
--- a/src/http/modules/ngx_http_limit_zone_module.c
+++ b/src/http/modules/ngx_http_limit_zone_module.c
@@ -321,6 +321,7 @@
{
ngx_http_limit_zone_ctx_t *octx = data;
+ size_t len;
ngx_slab_pool_t *shpool;
ngx_rbtree_node_t *sentinel;
ngx_http_limit_zone_ctx_t *ctx;
@@ -356,6 +357,15 @@
ngx_rbtree_init(ctx->rbtree, sentinel,
ngx_http_limit_zone_rbtree_insert_value);
+ len = sizeof(" in limit_zone \"\"") + shm_zone->name.len;
+
+ shpool->log_ctx = ngx_slab_alloc(shpool, len);
+ if (shpool->log_ctx == NULL) {
+ return NGX_ERROR;
+ }
+
+ ngx_sprintf(shpool->log_ctx, " in limit_zone \"%V\"%Z", &shm_zone->name);
+
return NGX_OK;
}
diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c
index efe0da6..da443ce 100644
--- a/src/http/ngx_http_file_cache.c
+++ b/src/http/ngx_http_file_cache.c
@@ -33,6 +33,7 @@
{
ngx_http_file_cache_t *ocache = data;
+ size_t len;
ngx_rbtree_node_t *sentinel;
ngx_http_file_cache_t *cache;
@@ -79,6 +80,16 @@
ngx_queue_init(cache->queue);
+ len = sizeof(" in cache keys zone \"\"") + shm_zone->name.len;
+
+ cache->shpool->log_ctx = ngx_slab_alloc(cache->shpool, len);
+ if (cache->shpool->log_ctx == NULL) {
+ return NGX_ERROR;
+ }
+
+ ngx_sprintf(cache->shpool->log_ctx, " in cache keys zone \"%V\"%Z",
+ &shm_zone->name);
+
cache->created = ngx_time();
return NGX_OK;