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_ */