ngx_add_inherited_sockets:服务器监听套接字的封装
作为一个web服务器,那么肯定是有监听套接字的,这个监听套接字是用于接收HTTP请求的,这个监听套接字的创建是根据配置文件的内容来创建的,在nginx.conf文件中有多少个地址就需要创建多少个监听套接字。这里不说各个结构体的构造 只说大体情况!
1)、首先在main函数中调用了ngx_init_cycle()函数,在这个函数的最后调用了ngx_open_listening_sockets函数,这个函数负责将创建的监听套接字进行套接字选项的设置(比如非阻塞、接受发送的缓冲区、绑定、监听处理)
2)那么创建套接字是在哪里?在解析http{]配置的时候,也就是在ngx_http_block()函数内,在这个函数的最后调用ngx_http_optimize_servers()函数,在这个函数内最后调用了
ngx_http_init_listening()函数,这个函数调用了ngx_http_add_listening函数,在这个函数总调用了ngx_create_listening()函数,这个函数根据每一个IP地址:port这种配置创建一个监听套接字,这个函数还有一个很重要的任务就是就是将监听套接字的回调函数设置为ngx_http_init_connection函数,记住这是监听套接字上的回调,而不是监听套接字对应的可读事件的回调函数
http://www.cnblogs.com/NerdWill/p/4992345.html