| * Copyright (C) Igor Sysoev |
| #ifndef _NGX_HTTP_BUSY_LOCK_H_INCLUDED_ |
| #define _NGX_HTTP_BUSY_LOCK_H_INCLUDED_ |
| ngx_event_mutex_t *mutex; |
| void (*event_handler)(ngx_event_t *ev); |
| } ngx_http_busy_lock_ctx_t; |
| int ngx_http_busy_lock(ngx_http_busy_lock_t *bl, ngx_http_busy_lock_ctx_t *bc); |
| int ngx_http_busy_lock_cacheable(ngx_http_busy_lock_t *bl, |
| ngx_http_busy_lock_ctx_t *bc, int lock); |
| void ngx_http_busy_unlock(ngx_http_busy_lock_t *bl, |
| ngx_http_busy_lock_ctx_t *bc); |
| char *ngx_http_set_busy_lock_slot(ngx_conf_t *cf, ngx_command_t *cmd, |
| #endif /* _NGX_HTTP_BUSY_LOCK_H_INCLUDED_ */ |