| * Copyright (C) Igor Sysoev |
| #ifndef _NGX_EVENT_BUSY_LOCK_H_INCLUDED_ |
| #define _NGX_EVENT_BUSY_LOCK_H_INCLUDED_ |
| typedef struct ngx_event_busy_lock_ctx_s ngx_event_busy_lock_ctx_t; |
| struct ngx_event_busy_lock_ctx_s { |
| ngx_event_handler_pt handler; |
| unsigned cache_updated:1; |
| ngx_event_busy_lock_ctx_t *next; |
| ngx_event_busy_lock_ctx_t *events; |
| ngx_event_busy_lock_ctx_t *last; |
| 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_cachable(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_ */ |