Mercurial > hg > nginx
diff src/http/ngx_http_busy_lock.h @ 176:c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 09 Nov 2003 20:03:38 +0000 |
parents | e92c2c647c57 |
children | a8ff48d26cca |
line wrap: on
line diff
--- a/src/http/ngx_http_busy_lock.h +++ b/src/http/ngx_http_busy_lock.h @@ -4,19 +4,20 @@ #include <ngx_config.h> #include <ngx_core.h> +#include <ngx_event.h> #include <ngx_http.h> typedef struct { - u_char *busy_mask; - char *busy; - int busy_n; + u_char *md5_mask; + char *md5; + int cachable; - int waiting_n; - int max_waiting; + int busy; + int max_busy; - int conn_n; - int max_conn; + int waiting; + int max_waiting; time_t timeout; @@ -25,7 +26,21 @@ typedef struct { } ngx_http_busy_lock_t; -int ngx_http_busy_lock(ngx_http_busy_lock_t *bl, u_char *md5); +typedef struct { + time_t time; + ngx_event_t *event; + void (*event_handler)(ngx_event_t *ev); + u_char *md5; + int slot; +} 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_cachable(ngx_http_busy_lock_t *bl, + ngx_http_busy_lock_ctx_t *bc, int lock); +void ngx_http_busy_unlock_cachable(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, void *conf);