Mercurial > hg > nginx-quic
annotate src/event/ngx_event_posted.h @ 4159:718f2154b813 stable-1.0
Merging r3933, r4154:
A new fix for the case when ssl_session_cache defined, but ssl is not
enabled in any server. The previous r1033 does not help when unused zone
becomes used after reconfiguration, so it is backed out.
The initial thought was to make SSL modules independed from SSL implementation
and to keep OpenSSL code dependance as much as in separate files.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 30 Sep 2011 13:36:33 +0000 |
parents | 9c2f3ed7a247 |
children | d620f497c50f |
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:
377
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:
377
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:
377
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:
377
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:
377
diff
changeset
|
6 |
306
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
7 #ifndef _NGX_EVENT_POSTED_H_INCLUDED_ |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #define _NGX_EVENT_POSTED_H_INCLUDED_ |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 #include <ngx_config.h> |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
12 #include <ngx_core.h> |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
13 #include <ngx_event.h> |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
14 |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
15 |
563 | 16 #if (NGX_THREADS) |
17 extern ngx_mutex_t *ngx_posted_events_mutex; | |
18 #endif | |
19 | |
20 | |
21 #define ngx_locked_post_event(ev, queue) \ | |
22 \ | |
23 if (ev->prev == NULL) { \ | |
24 ev->next = (ngx_event_t *) *queue; \ | |
25 ev->prev = (ngx_event_t **) queue; \ | |
26 *queue = ev; \ | |
27 \ | |
28 if (ev->next) { \ | |
29 ev->next->prev = &ev->next; \ | |
30 } \ | |
31 \ | |
32 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, "post event %p", ev); \ | |
33 \ | |
34 } else { \ | |
35 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ | |
36 "update posted event %p", ev); \ | |
37 } | |
38 | |
39 | |
40 #define ngx_post_event(ev, queue) \ | |
41 \ | |
42 ngx_mutex_lock(ngx_posted_events_mutex); \ | |
43 ngx_locked_post_event(ev, queue); \ | |
44 ngx_mutex_unlock(ngx_posted_events_mutex); | |
45 | |
373
018569a8f09c
nginx-0.0.7-2004-06-30-19:30:41 import
Igor Sysoev <igor@sysoev.ru>
parents:
372
diff
changeset
|
46 |
375
744ccb59062d
nginx-0.0.7-2004-07-02-19:54:34 import
Igor Sysoev <igor@sysoev.ru>
parents:
374
diff
changeset
|
47 #define ngx_delete_posted_event(ev) \ |
563 | 48 \ |
49 *(ev->prev) = ev->next; \ | |
50 \ | |
51 if (ev->next) { \ | |
52 ev->next->prev = ev->prev; \ | |
53 } \ | |
54 \ | |
55 ev->prev = NULL; \ | |
56 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ | |
57 "delete posted event %p", ev); | |
375
744ccb59062d
nginx-0.0.7-2004-07-02-19:54:34 import
Igor Sysoev <igor@sysoev.ru>
parents:
374
diff
changeset
|
58 |
373
018569a8f09c
nginx-0.0.7-2004-06-30-19:30:41 import
Igor Sysoev <igor@sysoev.ru>
parents:
372
diff
changeset
|
59 |
306
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
60 |
563 | 61 void ngx_event_process_posted(ngx_cycle_t *cycle, |
62 ngx_thread_volatile ngx_event_t **posted); | |
376
d0451e402e27
nginx-0.0.7-2004-07-05-10:55:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
375
diff
changeset
|
63 void ngx_wakeup_worker_thread(ngx_cycle_t *cycle); |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
306
diff
changeset
|
64 |
563 | 65 #if (NGX_THREADS) |
66 ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle); | |
67 #endif | |
68 | |
69 | |
70 extern ngx_thread_volatile ngx_event_t *ngx_posted_accept_events; | |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
306
diff
changeset
|
71 extern ngx_thread_volatile ngx_event_t *ngx_posted_events; |
306
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
72 |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
73 |
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
74 #endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */ |