Annotation of embedaddon/nginx/src/http/ngx_http_busy_lock.h, revision 1.1
1.1 ! misho 1:
! 2: /*
! 3: * Copyright (C) Igor Sysoev
! 4: * Copyright (C) Nginx, Inc.
! 5: */
! 6:
! 7:
! 8: #ifndef _NGX_HTTP_BUSY_LOCK_H_INCLUDED_
! 9: #define _NGX_HTTP_BUSY_LOCK_H_INCLUDED_
! 10:
! 11:
! 12: #include <ngx_config.h>
! 13: #include <ngx_core.h>
! 14: #include <ngx_event.h>
! 15: #include <ngx_http.h>
! 16:
! 17:
! 18: typedef struct {
! 19: u_char *md5_mask;
! 20: char *md5;
! 21: int cacheable;
! 22:
! 23: int busy;
! 24: int max_busy;
! 25:
! 26: int waiting;
! 27: int max_waiting;
! 28:
! 29: time_t timeout;
! 30:
! 31: ngx_event_mutex_t *mutex;
! 32: } ngx_http_busy_lock_t;
! 33:
! 34:
! 35: typedef struct {
! 36: time_t time;
! 37: ngx_event_t *event;
! 38: void (*event_handler)(ngx_event_t *ev);
! 39: u_char *md5;
! 40: int slot;
! 41: } ngx_http_busy_lock_ctx_t;
! 42:
! 43:
! 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);
! 49:
! 50: char *ngx_http_set_busy_lock_slot(ngx_conf_t *cf, ngx_command_t *cmd,
! 51: void *conf);
! 52:
! 53:
! 54: #endif /* _NGX_HTTP_BUSY_LOCK_H_INCLUDED_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>