annotate src/os/unix/ngx_thread.h @ 469:2ff194b74f1e release-0.1.9

nginx-0.1.9-RELEASE import *) Bugfix: the proxied request was sent without arguments if the request contains "//", "/./", "/../" or "%XX". *) Bugfix: the large compressed responses may be transferred not completely. *) Bugfix: the files bigger than 2G was not transferred on Linux that does not support sendfile64(). *) Bugfix: while the build configuration on Linux the --with-poll_module parameter was required; the bug had appeared in 0.1.8.
author Igor Sysoev <igor@sysoev.ru>
date Thu, 25 Nov 2004 16:17:31 +0000
parents a88a3e4e158f
children 9c2f3ed7a247
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 383
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 383
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 383
diff changeset
4 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 383
diff changeset
5
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 383
diff changeset
6
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7 #ifndef _NGX_THREAD_H_INCLUDED_
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #define _NGX_THREAD_H_INCLUDED_
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 #include <ngx_config.h>
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 #include <ngx_core.h>
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14 #if (NGX_THREADS)
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
16 #define NGX_MAX_THREADS 128
275
b836469c37c3 nginx-0.0.2-2004-03-02-18:40:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 272
diff changeset
17
270
7bb9562216ce nginx-0.0.2-2004-02-25-23:16:15 import
Igor Sysoev <igor@sysoev.ru>
parents: 267
diff changeset
18 #if (NGX_USE_RFORK)
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
19 #include <ngx_freebsd_rfork_thread.h>
372
c9fdfccebc49 nginx-0.0.7-2004-06-29-01:03:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 371
diff changeset
20
272
d4e65d74db9f nginx-0.0.2-2004-03-01-00:03:02 import
Igor Sysoev <igor@sysoev.ru>
parents: 271
diff changeset
21
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 #else /* use pthreads */
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
24 #include <pthread.h>
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
25
381
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
26 typedef pthread_t ngx_tid_t;
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
27
381
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
28 #define ngx_thread_self() pthread_self()
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
29 #define ngx_log_tid (int) ngx_thread_self()
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
30
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
31 #if (NGX_FREEBSD) && !(NGX_LINUXTHREADS)
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
32 #define NGX_TID_T_FMT "%p"
382
449c4885dcd1 nginx-0.0.7-2004-07-07-23:48:31 import
Igor Sysoev <igor@sysoev.ru>
parents: 381
diff changeset
33 #else
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
34 #define NGX_TID_T_FMT "%d"
382
449c4885dcd1 nginx-0.0.7-2004-07-07-23:48:31 import
Igor Sysoev <igor@sysoev.ru>
parents: 381
diff changeset
35 #endif
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
36
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
37
381
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
38 typedef pthread_key_t ngx_tls_key_t;
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
39
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
40 #define ngx_thread_key_create(key) pthread_key_create(key, NULL)
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
41 #define ngx_thread_key_create_n "pthread_key_create()"
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
42 #define ngx_thread_set_tls pthread_setspecific
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
43 #define ngx_thread_set_tls_n "pthread_setspecific()"
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 380
diff changeset
44 #define ngx_thread_get_tls pthread_getspecific
379
73688d5d7fc3 nginx-0.0.7-2004-07-06-20:12:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 376
diff changeset
45
73688d5d7fc3 nginx-0.0.7-2004-07-06-20:12:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 376
diff changeset
46
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
47 #define NGX_MUTEX_LIGHT 0
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
48
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
49 typedef struct {
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
50 pthread_mutex_t mutex;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
51 ngx_log_t *log;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
52 } ngx_mutex_t;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
53
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
54 typedef struct {
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
55 pthread_cond_t cond;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
56 ngx_log_t *log;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
57 } ngx_cond_t;
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
58
279
b79f021a644a nginx-0.0.2-2004-03-04-19:34:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 277
diff changeset
59 #define ngx_thread_sigmask pthread_sigmask
b79f021a644a nginx-0.0.2-2004-03-04-19:34:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 277
diff changeset
60 #define ngx_thread_sigmask_n "pthread_sigmask()"
b79f021a644a nginx-0.0.2-2004-03-04-19:34:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 277
diff changeset
61
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
62 #define ngx_thread_join(t, p) pthread_join(t, p)
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
63
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
64 #define ngx_setthrtitle(n)
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
65
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
66
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
67
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
68 ngx_int_t ngx_mutex_trylock(ngx_mutex_t *m);
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
69 ngx_int_t ngx_mutex_lock(ngx_mutex_t *m);
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
70 ngx_int_t ngx_mutex_unlock(ngx_mutex_t *m);
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
71
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
72 #endif
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
73
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
74
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
75 #define ngx_thread_volatile volatile
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
76
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
77
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
78 typedef struct {
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
79 ngx_tid_t tid;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
80 ngx_cond_t *cv;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
81 ngx_uint_t state;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
82 } ngx_thread_t;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
83
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
84 #define NGX_THREAD_FREE 1
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
85 #define NGX_THREAD_BUSY 2
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
86 #define NGX_THREAD_EXIT 3
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
87 #define NGX_THREAD_DONE 4
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
88
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
89 extern ngx_int_t ngx_threads_n;
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
90 extern volatile ngx_thread_t ngx_threads[NGX_MAX_THREADS];
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
91
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
92
270
7bb9562216ce nginx-0.0.2-2004-02-25-23:16:15 import
Igor Sysoev <igor@sysoev.ru>
parents: 267
diff changeset
93 ngx_int_t ngx_init_threads(int n, size_t size, ngx_cycle_t *cycle);
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
94 ngx_err_t ngx_create_thread(ngx_tid_t *tid, void* (*func)(void *arg), void *arg,
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
95 ngx_log_t *log);
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
96
272
d4e65d74db9f nginx-0.0.2-2004-03-01-00:03:02 import
Igor Sysoev <igor@sysoev.ru>
parents: 271
diff changeset
97
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
98 ngx_mutex_t *ngx_mutex_init(ngx_log_t *log, ngx_uint_t flags);
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
99 void ngx_mutex_destroy(ngx_mutex_t *m);
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
100
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
101
371
780e93985b93 nginx-0.0.7-2004-06-28-20:05:02 import
Igor Sysoev <igor@sysoev.ru>
parents: 370
diff changeset
102 ngx_cond_t *ngx_cond_init(ngx_log_t *log);
376
d0451e402e27 nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents: 372
diff changeset
103 void ngx_cond_destroy(ngx_cond_t *cv);
371
780e93985b93 nginx-0.0.7-2004-06-28-20:05:02 import
Igor Sysoev <igor@sysoev.ru>
parents: 370
diff changeset
104 ngx_int_t ngx_cond_wait(ngx_cond_t *cv, ngx_mutex_t *m);
780e93985b93 nginx-0.0.7-2004-06-28-20:05:02 import
Igor Sysoev <igor@sysoev.ru>
parents: 370
diff changeset
105 ngx_int_t ngx_cond_signal(ngx_cond_t *cv);
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 305
diff changeset
106
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 305
diff changeset
107
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
108 #else /* !NGX_THREADS */
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
109
275
b836469c37c3 nginx-0.0.2-2004-03-02-18:40:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 272
diff changeset
110 #define ngx_thread_volatile
b836469c37c3 nginx-0.0.2-2004-03-02-18:40:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 272
diff changeset
111
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
112 #define ngx_log_tid 0
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 455
diff changeset
113 #define NGX_TID_T_FMT "%d"
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
114
383
c05876036128 nginx-0.0.7-2004-07-08-19:17:47 import
Igor Sysoev <igor@sysoev.ru>
parents: 382
diff changeset
115 #define ngx_mutex_trylock(m) NGX_OK
277
e91499541410 nginx-0.0.2-2004-03-03-19:14:15 import
Igor Sysoev <igor@sysoev.ru>
parents: 275
diff changeset
116 #define ngx_mutex_lock(m) NGX_OK
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
117 #define ngx_mutex_unlock(m)
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
118
372
c9fdfccebc49 nginx-0.0.7-2004-06-29-01:03:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 371
diff changeset
119 #define ngx_cond_signal(cv)
c9fdfccebc49 nginx-0.0.7-2004-06-29-01:03:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 371
diff changeset
120
c9fdfccebc49 nginx-0.0.7-2004-06-29-01:03:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 371
diff changeset
121 #define ngx_thread_main() 1
c9fdfccebc49 nginx-0.0.7-2004-06-29-01:03:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 371
diff changeset
122
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
123 #endif
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
124
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
125
379
73688d5d7fc3 nginx-0.0.7-2004-07-06-20:12:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 376
diff changeset
126
266
5238e93961a1 nginx-0.0.2-2004-02-23-23:57:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
127 #endif /* _NGX_THREAD_H_INCLUDED_ */