diff src/core/ngx_cycle.h @ 0:f0b350454894 NGINX_0_1_0

nginx 0.1.0 *) The first public version.
author Igor Sysoev <http://sysoev.ru>
date Mon, 04 Oct 2004 00:00:00 +0400
parents
children 46833bd150cb
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/core/ngx_cycle.h
@@ -0,0 +1,79 @@
+
+/*
+ * Copyright (C) Igor Sysoev
+ */
+
+
+#ifndef _NGX_CYCLE_H_INCLUDED_
+#define _NGX_CYCLE_H_INCLUDED_
+
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+
+
+struct ngx_cycle_s {
+    void           ****conf_ctx;
+    ngx_pool_t        *pool;
+
+    ngx_log_t         *log;
+    ngx_log_t         *new_log;
+
+    ngx_array_t        listening;
+    ngx_array_t        pathes;
+    ngx_list_t         open_files;
+
+    ngx_uint_t         connection_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          root;
+};
+
+
+typedef struct {
+     ngx_flag_t  daemon;
+     ngx_flag_t  master;
+
+     ngx_int_t   worker_processes;
+
+     ngx_uid_t   user;
+     ngx_gid_t   group;
+
+     ngx_str_t   pid;
+     ngx_str_t   newpid;
+
+#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;
+
+
+ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle);
+ngx_int_t ngx_create_pidfile(ngx_cycle_t *cycle, ngx_cycle_t *old_cycle);
+void ngx_delete_pidfile(ngx_cycle_t *cycle);
+void ngx_reopen_files(ngx_cycle_t *cycle, ngx_uid_t user);
+ngx_pid_t ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv);
+
+
+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;
+#if (NGX_THREADS)
+extern ngx_tls_key_t          ngx_core_tls_key;
+#endif
+
+
+#endif /* _NGX_CYCLE_H_INCLUDED_ */