
nginx源码
liu3daniel
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
nginx源码学习3——定时器c++实现
本文是这一系列的第三篇,用到了前两篇的内容:nginx内存池:http://blog.youkuaiyun.com/liu3daniel/article/details/73381205nginx红黑树封装:http://blog.youkuaiyun.com/liu3daniel/article/details/73649577还是老规矩,先是头文件,之后cpp,最后不完全测试。mytool_t原创 2017-07-03 18:29:51 · 521 阅读 · 0 评论 -
nginx源码学习2——扒、封装红黑树代码
说明:1.nginx红黑树除了是个通用结构体,还是定时器实现的载体,进一步学习定时器代码需要了解红黑树用法;2.nginx红黑树基本上只提供了一个初始化红黑树、增、删节点,查找最小节点四种操作,其实对nginx也够了;3.nginx红黑树细节暴露比较多,节点要自己malloc自己构造,插入操作的第一步(旋转前)要自己实现(尽管各种实现的不同处都只是在key相同时提供比较大小的方法),节原创 2017-06-23 16:29:07 · 350 阅读 · 0 评论 -
nginx源码学习1——扒内存池代码
学nginx源码有一段时间了,如果学习曲线是看——调——写,那么这一次走到第二步了。nginx源码有不少可取之处,事件驱动模型、读conf方法、父子进程通信、顺序处理module、conf层级配置、内存池等。其中,内存池算是比较清晰和其它模块依赖较少的。就扒下来了,把依赖相关处给改了,加了注释和一个打印函数,写了一个不完善的测试程序。希望本文作为一个开始,后面坚定地走下去。myto原创 2017-06-17 15:48:44 · 1664 阅读 · 0 评论 -
深究更改进程名(一)
1.需求如nginx这种,父进程可以fork出多个子进程,程序在同一台机器上运行多次产生多个进程,多个进程使用不同的conf从而监听不同的端口。这样,在ps和top时,会有区分父子进程名的需求而不是都叫nginx;对于多个nginx的父进程希望知道进程的具体任务,这可以用conf区分。就像nginx实际处理一样:nginx: master process /usr/local/ngin原创 2017-07-16 20:13:31 · 3355 阅读 · 0 评论 -
nginx源码学习4——重写共享内存锁类
先贴代码,细节以后有必要再加。mytool_lock_base.h:#ifndef MYTOOL_LOCK_BASE_H#define MYTOOL_LOCKS_BASE_H#include #include #include namespace mytool{/* GCC 4.1 builtin atomic operations */typedef volatile原创 2017-07-09 23:31:18 · 444 阅读 · 0 评论