ngx_cycle_s数据结构:
struct ngx_cycle_s {
void ****conf_ctx; //配置上下文数组,包含所有模块的config_t, 如core模块,则为:ngx_core_conf_t信息
ngx_pool_t *pool; //内存池
ngx_log_t *log; //日志,是怎个系统的主日志。在那里都可以调用
ngx_log_t new_log; //中转的日志,在ngx_init_cycle的时候产生一个日志初始化,再 log = &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; //配置文件,如:nginx.conf
ngx_str_t conf_param; //配置参数
ngx_str_t conf_prefix; //配置前缀
ngx_str_t prefix; //前缀
ngx_str_t lock_file; //锁文件路径
ngx_str_t hostname; //主机名
};
该结构的大小为:
sizeof(ngx_cycle_s) = 224;