summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_posted.h
blob: c2945c4ff1f5d43fd591f350e1b7fbc67a0df5f5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef _NGX_EVENT_POSTED_H_INCLUDED_
#define _NGX_EVENT_POSTED_H_INCLUDED_


#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>


#define ngx_post_event(ev)                                                    \
            if (!ev->posted) {                                                \
                ev->next = (ngx_event_t *) ngx_posted_events;                 \
                ngx_posted_events = ev;                                       \
                ev->posted = 1;                                               \
            }


void ngx_event_process_posted(ngx_cycle_t *cycle);

extern ngx_thread_volatile ngx_event_t  *ngx_posted_events;


#if (NGX_THREADS)
ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle);

extern ngx_mutex_t                      *ngx_posted_events_mutex;
extern ngx_cond_t                       *ngx_posted_events_cv;
#endif


#endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */