问题源于在分析nginx的源码时,找了半天没有找到nginx是怎么把监听套接字读事件添加到事件循环中的,后经过仔细的分析,终于搞明白,于是记录一下。

在上一篇module机制中介绍了nginx添加module的机制,其实nginx中好多核心模块也是以同样的方式添加到nginx中的,其中就包括下面要介绍的event模块。

打开监听套接字是在ngx_open_listening_sockets函数中进行的。

下面分析将监听套接字添加到事件循环中的流程。

首先从event模块的定义开始说起:

nginx源码分析:打开监听套接字的流程

ngx_event_process_init函数在ngx_single_process_cycle、ngx_worker_process_init被调用,在ngx_event_process_init中调用了ngx_add_event将监听套接字添加到事件循环中。

nginx源码分析:打开监听套接字的流程

 至此,nginx添加监听套接字读事件到事件循环的流程就分析完了。

相关文章:

  • 2021-09-19
  • 2022-12-23
  • 2022-01-11
  • 2021-07-11
  • 2021-10-12
  • 2022-12-23
  • 2021-05-26
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
  • 2022-03-03
  • 2022-12-23
相关资源
相似解决方案