#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
#define DEFAULT_CONNECTIONS …
extern ngx_module_t ngx_kqueue_module;
extern ngx_module_t ngx_eventport_module;
extern ngx_module_t ngx_devpoll_module;
extern ngx_module_t ngx_epoll_module;
extern ngx_module_t ngx_select_module;
static char *ngx_event_init_conf(ngx_cycle_t *cycle, void *conf);
static ngx_int_t ngx_event_module_init(ngx_cycle_t *cycle);
static ngx_int_t ngx_event_process_init(ngx_cycle_t *cycle);
static char *ngx_events_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
static char *ngx_event_connections(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_event_use(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
static char *ngx_event_debug_connection(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static void *ngx_event_core_create_conf(ngx_cycle_t *cycle);
static char *ngx_event_core_init_conf(ngx_cycle_t *cycle, void *conf);
static ngx_uint_t ngx_timer_resolution;
sig_atomic_t ngx_event_timer_alarm;
static ngx_uint_t ngx_event_max_module;
ngx_uint_t ngx_event_flags;
ngx_event_actions_t ngx_event_actions;
static ngx_atomic_t connection_counter = …;
ngx_atomic_t *ngx_connection_counter = …;
ngx_atomic_t *ngx_accept_mutex_ptr;
ngx_shmtx_t ngx_accept_mutex;
ngx_uint_t ngx_use_accept_mutex;
ngx_uint_t ngx_accept_events;
ngx_uint_t ngx_accept_mutex_held;
ngx_msec_t ngx_accept_mutex_delay;
ngx_int_t ngx_accept_disabled;
ngx_uint_t ngx_use_exclusive_accept;
#if (NGX_STAT_STUB)
static ngx_atomic_t ngx_stat_accepted0;
ngx_atomic_t *ngx_stat_accepted = &ngx_stat_accepted0;
static ngx_atomic_t ngx_stat_handled0;
ngx_atomic_t *ngx_stat_handled = &ngx_stat_handled0;
static ngx_atomic_t ngx_stat_requests0;
ngx_atomic_t *ngx_stat_requests = &ngx_stat_requests0;
static ngx_atomic_t ngx_stat_active0;
ngx_atomic_t *ngx_stat_active = &ngx_stat_active0;
static ngx_atomic_t ngx_stat_reading0;
ngx_atomic_t *ngx_stat_reading = &ngx_stat_reading0;
static ngx_atomic_t ngx_stat_writing0;
ngx_atomic_t *ngx_stat_writing = &ngx_stat_writing0;
static ngx_atomic_t ngx_stat_waiting0;
ngx_atomic_t *ngx_stat_waiting = &ngx_stat_waiting0;
#endif
static ngx_command_t ngx_events_commands[] = …;
static ngx_core_module_t ngx_events_module_ctx = …;
ngx_module_t ngx_events_module = …;
static ngx_str_t event_core_name = …;
static ngx_command_t ngx_event_core_commands[] = …;
static ngx_event_module_t ngx_event_core_module_ctx = …;
ngx_module_t ngx_event_core_module = …;
void
ngx_process_events_and_timers(ngx_cycle_t *cycle)
{ … }
ngx_int_t
ngx_handle_read_event(ngx_event_t *rev, ngx_uint_t flags)
{ … }
ngx_int_t
ngx_handle_write_event(ngx_event_t *wev, size_t lowat)
{ … }
static char *
ngx_event_init_conf(ngx_cycle_t *cycle, void *conf)
{ … }
static ngx_int_t
ngx_event_module_init(ngx_cycle_t *cycle)
{ … }
#if !(NGX_WIN32)
static void
ngx_timer_signal_handler(int signo)
{ … }
#endif
static ngx_int_t
ngx_event_process_init(ngx_cycle_t *cycle)
{ … }
ngx_int_t
ngx_send_lowat(ngx_connection_t *c, size_t lowat)
{ … }
static char *
ngx_events_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{ … }
static char *
ngx_event_connections(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{ … }
static char *
ngx_event_use(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{ … }
static char *
ngx_event_debug_connection(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{ … }
static void *
ngx_event_core_create_conf(ngx_cycle_t *cycle)
{ … }
static char *
ngx_event_core_init_conf(ngx_cycle_t *cycle, void *conf)
{ … }