2013-10-25 33 views
1

http://aosabook.org/en/nginx.html说:“工作进程接受来自共享的新要求‘’听”插座和执行每个如何nginx的工作进程共享“监听套接字”

我看着兴田内高效运行循环代码,但不知道如何共享套接字。主流程是否创建侦听队列,绑定然后分叉?在这种情况下,操作系统如何决定将传入连接交给哪个工作进程?它是循环的还是随机的?我假设不同的操作系统可能有不同的策略

+0

是的,这是叉之前的约束,但据我记得孩子有同步它们的'accept'要求自己。 –

+0

谢谢。同步接受到底是什么意思?在一个接受套接字上阻塞了多个子节点的情况下,这个套接字实际上是来自父进程的一个副本,哪个孩子会接受?这应该是操作系统的依赖,但我没有看到这个 – doon

+0

任何信息我不记得这么多,可能会发生错误的事情,因为当我做了它(不久前 - 〜15年),我用信号量锁定以避免并行accept()调用。再次,我不记得细节,但最有可能的是我先做了一些研究。 –

回答