summaryrefslogtreecommitdiffstats
path: root/usr.sbin/nginx/src/core/ngx_cycle.h
diff options
context:
space:
mode:
authorrobert <robert@openbsd.org>2011-09-22 23:38:25 +0000
committerrobert <robert@openbsd.org>2011-09-22 23:38:25 +0000
commitd2bbe503305ff6b033a901010508488faf7e9c70 (patch)
tree60b5dc346eedf872ca3ca83e9969454dd0120c0a /usr.sbin/nginx/src/core/ngx_cycle.h
parentimport of nginx 1.0.6 with a bundled libpcre needed for pcre to work (diff)
downloadwireguard-openbsd-d2bbe503305ff6b033a901010508488faf7e9c70.tar.xz
wireguard-openbsd-d2bbe503305ff6b033a901010508488faf7e9c70.zip
thank you CVS for missing the "core" directory
Diffstat (limited to 'usr.sbin/nginx/src/core/ngx_cycle.h')
-rw-r--r--usr.sbin/nginx/src/core/ngx_cycle.h141
1 files changed, 141 insertions, 0 deletions
diff --git a/usr.sbin/nginx/src/core/ngx_cycle.h b/usr.sbin/nginx/src/core/ngx_cycle.h
new file mode 100644
index 00000000000..e14983d6f1b
--- /dev/null
+++ b/usr.sbin/nginx/src/core/ngx_cycle.h
@@ -0,0 +1,141 @@
+
+/*
+ * Copyright (C) Igor Sysoev
+ */
+
+
+#ifndef _NGX_CYCLE_H_INCLUDED_
+#define _NGX_CYCLE_H_INCLUDED_
+
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+
+
+#ifndef NGX_CYCLE_POOL_SIZE
+#define NGX_CYCLE_POOL_SIZE 16384
+#endif
+
+
+#define NGX_DEBUG_POINTS_STOP 1
+#define NGX_DEBUG_POINTS_ABORT 2
+
+
+typedef struct ngx_shm_zone_s ngx_shm_zone_t;
+
+typedef ngx_int_t (*ngx_shm_zone_init_pt) (ngx_shm_zone_t *zone, void *data);
+
+struct ngx_shm_zone_s {
+ void *data;
+ ngx_shm_t shm;
+ ngx_shm_zone_init_pt init;
+ void *tag;
+};
+
+
+struct ngx_cycle_s {
+ void ****conf_ctx;
+ ngx_pool_t *pool;
+
+ ngx_log_t *log;
+ ngx_log_t new_log;
+
+ ngx_connection_t **files;
+ ngx_connection_t *free_connections;
+ ngx_uint_t free_connection_n;
+
+ ngx_queue_t reusable_connections_queue;
+
+ ngx_array_t listening;
+ ngx_array_t pathes;
+ ngx_list_t open_files;
+ ngx_list_t shared_memory;
+
+ ngx_uint_t connection_n;
+ ngx_uint_t files_n;
+
+ ngx_connection_t *connections;
+ ngx_event_t *read_events;
+ ngx_event_t *write_events;
+
+ ngx_cycle_t *old_cycle;
+
+ ngx_str_t conf_file;
+ ngx_str_t conf_param;
+ ngx_str_t conf_prefix;
+ ngx_str_t prefix;
+ ngx_str_t lock_file;
+ ngx_str_t hostname;
+};
+
+
+typedef struct {
+ ngx_flag_t daemon;
+ ngx_flag_t master;
+
+ ngx_msec_t timer_resolution;
+
+ ngx_int_t worker_processes;
+ ngx_int_t debug_points;
+
+ ngx_int_t rlimit_nofile;
+ ngx_int_t rlimit_sigpending;
+ off_t rlimit_core;
+
+ int priority;
+
+ ngx_uint_t cpu_affinity_n;
+ u_long *cpu_affinity;
+
+ char *username;
+ ngx_uid_t user;
+ ngx_gid_t group;
+
+ ngx_str_t working_directory;
+ ngx_str_t lock_file;
+
+ ngx_str_t pid;
+ ngx_str_t oldpid;
+
+ ngx_array_t env;
+ char **environment;
+
+#if (NGX_THREADS)
+ ngx_int_t worker_threads;
+ size_t thread_stack_size;
+#endif
+
+} ngx_core_conf_t;
+
+
+typedef struct {
+ ngx_pool_t *pool; /* pcre's malloc() pool */
+} ngx_core_tls_t;
+
+
+#define ngx_is_init_cycle(cycle) (cycle->conf_ctx == NULL)
+
+
+ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle);
+ngx_int_t ngx_create_pidfile(ngx_str_t *name, ngx_log_t *log);
+void ngx_delete_pidfile(ngx_cycle_t *cycle);
+ngx_int_t ngx_signal_process(ngx_cycle_t *cycle, char *sig);
+void ngx_reopen_files(ngx_cycle_t *cycle, ngx_uid_t user);
+char **ngx_set_environment(ngx_cycle_t *cycle, ngx_uint_t *last);
+ngx_pid_t ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv);
+u_long ngx_get_cpu_affinity(ngx_uint_t n);
+ngx_shm_zone_t *ngx_shared_memory_add(ngx_conf_t *cf, ngx_str_t *name,
+ size_t size, void *tag);
+
+
+extern volatile ngx_cycle_t *ngx_cycle;
+extern ngx_array_t ngx_old_cycles;
+extern ngx_module_t ngx_core_module;
+extern ngx_uint_t ngx_test_config;
+extern ngx_uint_t ngx_quiet_mode;
+#if (NGX_THREADS)
+extern ngx_tls_key_t ngx_core_tls_key;
+#endif
+
+
+#endif /* _NGX_CYCLE_H_INCLUDED_ */