ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "timer delta: %M", delta); /* ngx_posted_accept_events是一个事件队列,暂存epoll从监听套接口wait到的accept事件。 前文提到的NGX_POST_EVENTS标志被使用后,会将所有的accept事件暂存到这个队列 */ if (ngx_posted_accept_events) { ngx_event_p...
ngx_event_timer_rbtree 是树对象,可以得到根节点。 ngx_event_timer_sentinel 是哨兵节点 初始化红黑树是在 ngx_event_process_init 内,所以每个工作进程有自己的树。 对于每个新建立的连接,会将connect对象加入超时管理 ngx_http_init_connection() 将事件对象加入超时管理,设置超时时间 c->listening->post_accep...
*/ if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) { return; } if (ngx_accept_mutex_held) { /* 如果进程获得了锁,将添加一个 NGX_POST_EVENTS 标志。 这个标志的作用是将所有产生的事件放入一个队列中,等释放后,在慢慢来处理事件。 因为,处理时间可能会很耗时,如果不先施放锁再处理的话,该进...
//对应的配置文件结构体ngx_log_t*log;//日志void*ctx;//描述当前配置解析的上下文(event模块用于指向对应的配置项)ngx_uint_t module_type;//当前的模块类型 core event http mailngx_uint_t cmd_type;//当前的指令类型ngx_conf_handler_pt handler;//自定义的处理函数void*handler_conf;//自定义处理函数...
size_t post_accept_buffer_size; /* should be here because of the deferred accept */ ngx_msec_t post_accept_timeout;//~秒后仍然没有收到用户的数据,就丢弃该连接 //前一个ngx_listening_t结构,用于组成单链表 ngx_listening_t *previous; ...
ngx_http_dyups_init, /* postconfiguration */ ngx_http_dyups_create_main_conf, /* create main configuration */ ngx_http_dyups_init_main_conf, /* init main configuration */ ngx_http_dyups_create_srv_conf, /* create server configuration */ ...
3. 指令可存在上下⽂:NGX_MAIN_CONF, NGX_EVENT_CONF, NGX_HTTP_LOC_CONF ...conf 主要由 NGX_HTTP_MODULE 类型模块使⽤,表⽰指令在当前配置项的⼤致位置,取值 NGX_HTTP_MAIN_CONF_OFFSET, NGX_HTTP_SRV_CONF_OFFSET, NGX_HTTP_LOC_CONF_OFFSET,其他模块基本不使⽤,直接设置为0.post ⼤...
ngx_http_dyups_init, /* postconfiguration */ ngx_http_dyups_create_main_conf, /* create main configuration */ ngx_http_dyups_init_main_conf, /* init main configuration */ ngx_http_dyups_create_srv_conf, /* create server configuration */ ...
void *post;/指向模块在读配置的时候需要的一些零碎变量 13. ; 比如: C代码 1. ngx_string("push_stream_publisher"), 2. &# 12、160; NGX_HTTP_LOC_CONF|NGX_CONF_NOARGS|NGX_CONF_TAKE1,/指令用在location域,没有参数或1个参数 3. ngx_http_push_stream_publisher,/发布处理函数 4. NGX_HTTP_...
NGX_HTTP_POST_READ_PHASE, //0读取请求phase NGX_HTTP_SERVER_REWRITE_PHASE,//1这个阶段主要是处理全局的(server block)的rewrite NGX_HTTP_FIND_CONFIG_PHASE, //2这个阶段主要是通过uri来查找对应的location,然后根据loc_conf设置r的相应变量 NGX_HTTP_REWRITE_PHASE, //3这个主要处理location的rewrite NGX_...