函数关系简

函数关系

ngx_master_process_cycle

​		ngx_setproctitle

​		ngx_start_worker_processes

​				for(i=0;i<threadnums;i++)				//循环多次创建子进程ngx_spawn_process(i,"worker process");

​								pid=fork();//执行的进程分支判断。对于父进程分支,直接返回;对于子进程分支,继续往下看

​								ngx_worker_process_cycle				//子进程才会执行该分支

​										ngx_worker_process_init

​												sigprocmask(SIG_SETMASK, &set, NULL)  //取消信号屏蔽

​												g_threadpool.Create(tmpthreadnums);  //创建线程池中线程

​												g_socket.Initialize_subproc();   //子进程一些初始化

​												g_socket.ngx_epoll_init();   //执行CSocket::ngx_epoll_initepoll_create(……);

​																ngx_epoll_add_event(……);epoll_ctl(……);

​								ngx_setproctitle				//专门为子进程设置标题for(;;)//worker进程就在这个无限的for循环中循环着ngx_process_events_and_timers();  //处理网络事件等

​												g_socket.ngx_epoll_process_events(-1);epoll_wait(……);

​								g_threadpool.StopAll();    //停止线程池

​								g_socket.Shutdown_subproc();     //socket释放需要释放的资源//以下的执行分支只有在master进程中会执行到sigemptyset(&set);for( ;; )

​				master进程就在这个无限的for循环中循环着
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值