Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
vendor
nginx-1.4.2
src
event
ngx_event_busy_lock.h
Go to the documentation of this file.
1
2
/*
3
* Copyright (C) Igor Sysoev
4
* Copyright (C) Nginx, Inc.
5
*/
6
7
8
#ifndef _NGX_EVENT_BUSY_LOCK_H_INCLUDED_
9
#define _NGX_EVENT_BUSY_LOCK_H_INCLUDED_
10
11
12
#include <
ngx_config.h
>
13
#include <
ngx_core.h
>
14
#include <
ngx_event.h
>
15
16
typedef
struct
ngx_event_busy_lock_ctx_s
ngx_event_busy_lock_ctx_t
;
17
18
struct
ngx_event_busy_lock_ctx_s
{
19
ngx_event_t
*
event
;
20
ngx_event_handler_pt
handler
;
21
void
*
data
;
22
ngx_msec_t
timer
;
23
24
unsigned
locked
:1;
25
unsigned
waiting
:1;
26
unsigned
cache_updated
:1;
27
28
char
*
md5
;
29
ngx_int_t
slot
;
30
31
ngx_event_busy_lock_ctx_t
*
next
;
32
};
33
34
35
typedef
struct
{
36
u_char *
md5_mask
;
37
char
*
md5
;
38
ngx_uint_t
cacheable
;
39
40
ngx_uint_t
busy
;
41
ngx_uint_t
max_busy
;
42
43
ngx_uint_t
waiting
;
44
ngx_uint_t
max_waiting
;
45
46
ngx_event_busy_lock_ctx_t
*
events
;
47
ngx_event_busy_lock_ctx_t
*
last
;
48
49
#if (NGX_THREADS)
50
ngx_mutex_t
*mutex;
51
#endif
52
}
ngx_event_busy_lock_t
;
53
54
55
ngx_int_t
ngx_event_busy_lock
(
ngx_event_busy_lock_t
*bl,
56
ngx_event_busy_lock_ctx_t
*ctx);
57
ngx_int_t
ngx_event_busy_lock_cacheable
(
ngx_event_busy_lock_t
*bl,
58
ngx_event_busy_lock_ctx_t
*ctx);
59
void
ngx_event_busy_unlock
(
ngx_event_busy_lock_t
*bl,
60
ngx_event_busy_lock_ctx_t
*ctx);
61
void
ngx_event_busy_lock_cancel
(
ngx_event_busy_lock_t
*bl,
62
ngx_event_busy_lock_ctx_t
*ctx);
63
64
65
#endif
/* _NGX_EVENT_BUSY_LOCK_H_INCLUDED_ */
Generated on Sun Nov 10 2013 09:49:07 for Groonga 3.0.9 Source Code Document by
1.8.1.2