3 * Copyright (C) Igor Sysoev
4 * Copyright (C) Nginx, Inc.
8 #ifndef _NGX_HTTP_BUSY_LOCK_H_INCLUDED_
9 #define _NGX_HTTP_BUSY_LOCK_H_INCLUDED_
12 #include <ngx_config.h>
14 #include <ngx_event.h>
31 ngx_event_mutex_t
*mutex
;
32 } ngx_http_busy_lock_t
;
38 void (*event_handler
)(ngx_event_t
*ev
);
41 } ngx_http_busy_lock_ctx_t
;
44 int ngx_http_busy_lock(ngx_http_busy_lock_t
*bl
, ngx_http_busy_lock_ctx_t
*bc
);
45 int ngx_http_busy_lock_cacheable(ngx_http_busy_lock_t
*bl
,
46 ngx_http_busy_lock_ctx_t
*bc
, int lock
);
47 void ngx_http_busy_unlock(ngx_http_busy_lock_t
*bl
,
48 ngx_http_busy_lock_ctx_t
*bc
);
50 char *ngx_http_set_busy_lock_slot(ngx_conf_t
*cf
, ngx_command_t
*cmd
,
54 #endif /* _NGX_HTTP_BUSY_LOCK_H_INCLUDED_ */