diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2014-03-31 21:38:30 +0400 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2014-03-31 21:38:30 +0400 |
commit | 23f66898463308fdc70ab2659273fb9804f29370 (patch) | |
tree | 3b714d7a7014f03c13c3340cfbca22a40248b275 /src/core/ngx_slab.c | |
parent | 8f6958baa97b43d16185364dcfb7d68361012740 (diff) | |
download | nginx-23f66898463308fdc70ab2659273fb9804f29370.tar.gz nginx-23f66898463308fdc70ab2659273fb9804f29370.zip |
Core: slab log_nomem flag.
The flag allows to suppress "ngx_slab_alloc() failed: no memory" messages
from a slab allocator, e.g., if an LRU expiration is used by a consumer
and allocation failures aren't fatal.
The flag is now used in the SSL session cache code, and in the limit_req
module.
Diffstat (limited to 'src/core/ngx_slab.c')
-rw-r--r-- | src/core/ngx_slab.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/ngx_slab.c b/src/core/ngx_slab.c index 6d18abb72..be7927ce0 100644 --- a/src/core/ngx_slab.c +++ b/src/core/ngx_slab.c @@ -129,6 +129,7 @@ ngx_slab_init(ngx_slab_pool_t *pool) pool->pages->slab = pages; } + pool->log_nomem = 1; pool->log_ctx = &pool->zero; pool->zero = '\0'; } @@ -658,7 +659,10 @@ ngx_slab_alloc_pages(ngx_slab_pool_t *pool, ngx_uint_t pages) } } - ngx_slab_error(pool, NGX_LOG_CRIT, "ngx_slab_alloc() failed: no memory"); + if (pool->log_nomem) { + ngx_slab_error(pool, NGX_LOG_CRIT, + "ngx_slab_alloc() failed: no memory"); + } return NULL; } |