3 * Copyright (C) Igor Sysoev
7 #ifndef _NGX_HTTP_BUSY_LOCK_H_INCLUDED_
8 #define _NGX_HTTP_BUSY_LOCK_H_INCLUDED_
11 #include <ngx_config.h>
13 #include <ngx_event.h>
30 ngx_event_mutex_t *mutex;
31 } ngx_http_busy_lock_t;
37 void (*event_handler)(ngx_event_t *ev);
40 } ngx_http_busy_lock_ctx_t;
43 int ngx_http_busy_lock(ngx_http_busy_lock_t *bl, ngx_http_busy_lock_ctx_t *bc);
44 int ngx_http_busy_lock_cacheable(ngx_http_busy_lock_t *bl,
45 ngx_http_busy_lock_ctx_t *bc, int lock);
46 void ngx_http_busy_unlock(ngx_http_busy_lock_t *bl,
47 ngx_http_busy_lock_ctx_t *bc);
49 char *ngx_http_set_busy_lock_slot(ngx_conf_t *cf, ngx_command_t *cmd,
53 #endif /* _NGX_HTTP_BUSY_LOCK_H_INCLUDED_ */