Mercurial > hg > nginx-quic
view src/event/ngx_event_busy_lock.h @ 5822:063f7e75f9ef
Upstream: suppressed the file cache slab allocator error messages.
The messages "ngx_slab_alloc() failed: no memory in cache keys zone"
from the file cache slab allocator are suppressed since the allocation
is likely to succeed after the forced expiration of cache nodes.
The second allocation failure is reported.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Fri, 05 Sep 2014 18:14:59 +0400 |
parents | d620f497c50f |
children | 457ec43dd8d5 |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_EVENT_BUSY_LOCK_H_INCLUDED_ #define _NGX_EVENT_BUSY_LOCK_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #include <ngx_event.h> typedef struct ngx_event_busy_lock_ctx_s ngx_event_busy_lock_ctx_t; struct ngx_event_busy_lock_ctx_s { ngx_event_t *event; ngx_event_handler_pt handler; void *data; ngx_msec_t timer; unsigned locked:1; unsigned waiting:1; unsigned cache_updated:1; char *md5; ngx_int_t slot; ngx_event_busy_lock_ctx_t *next; }; typedef struct { u_char *md5_mask; char *md5; ngx_uint_t cacheable; ngx_uint_t busy; ngx_uint_t max_busy; ngx_uint_t waiting; ngx_uint_t max_waiting; ngx_event_busy_lock_ctx_t *events; ngx_event_busy_lock_ctx_t *last; #if (NGX_THREADS) ngx_mutex_t *mutex; #endif } ngx_event_busy_lock_t; ngx_int_t ngx_event_busy_lock(ngx_event_busy_lock_t *bl, ngx_event_busy_lock_ctx_t *ctx); ngx_int_t ngx_event_busy_lock_cacheable(ngx_event_busy_lock_t *bl, ngx_event_busy_lock_ctx_t *ctx); void ngx_event_busy_unlock(ngx_event_busy_lock_t *bl, ngx_event_busy_lock_ctx_t *ctx); void ngx_event_busy_lock_cancel(ngx_event_busy_lock_t *bl, ngx_event_busy_lock_ctx_t *ctx); #endif /* _NGX_EVENT_BUSY_LOCK_H_INCLUDED_ */