![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码分析
文章平均质量分 80
tricky1997
这个作者很懒,什么都没留下…
展开
-
BOA代码笔记 6
process_requests()昨天分析到了switch部分。process_requests()还剩下的,也就是处理请求的switch部分和处理retval的swtich部分。先看下剩下这部分的源码: switch (current->status) { case READ_HEADER: case ON原创 2011-11-09 23:09:11 · 1170 阅读 · 0 评论 -
BOA代码笔记 5
select_loop()继续,到了这里:if (!sigterm_flag && total_connections < (max_connections - 10)) { BOA_FD_SET(server_s, &block_read_fdset); /* server always set */ }如果没有收到SIGTERM信号,连接数没原创 2011-11-08 22:20:10 · 1019 阅读 · 0 评论 -
BOA代码笔记 4
main.c (完?)从上次继续上次我们看到了这个地方:if (max_connections < 1) { struct rlimit rl; /* has not been set explicitly */ c = getrlimit(RLIMIT_NOFILE, &rl); if (c < 0) {原创 2011-11-06 21:38:28 · 1512 阅读 · 0 评论 -
BOA代码笔记 3
up主下午没课,暂时也不知道学什么,所以继续继续~boa.c(依然续)main函数接下来该open_logs()了。顾名思义,这个函数负责日志文件的顺利打开。注释是这么说明的:/* * Name: open_logs * * Description: Opens access log, error log, and if specified, cgi log原创 2011-09-22 16:16:32 · 1361 阅读 · 7 评论 -
BOA代码笔记 2
boa.c 续书接上回。main函数的调用到了 fixup_server_root()static void fixup_server_root(){ char *dirbuf; if (!server_root) {#ifdef SERVER_ROOT server_root = strdup(SERVER_ROOT);原创 2011-09-21 22:01:58 · 1686 阅读 · 3 评论 -
BOA代码笔记 1
开头废几句话Boa不多介绍了,wiki上说的比我好。之所以写这么个东西1 因为兴趣,想看看别人源代码。2 看linux0.11版源代码看到字符设备、文件系统的地方比较费劲,又不想跳过……憋了一肚子热情先发泄在boa上吧!3 正在做的某项目弄的博主头昏脑涨,不妨换换思路与Unix网络编程相关的,基于linux c编程,不涉及图形界面的,代码量很小。 ---原创 2011-09-20 22:08:52 · 2137 阅读 · 1 评论 -
libevent部分源代码笔记
libevent的源代码间间断断的看了有一些时间了,重点一直在实现的细节,每段代码都能看得差不多但就是不知道整个流程是怎样的。昨天偶然发现了张亮的源代码分析,花了十几分钟过了一遍,豁然开朗!如果对libevent有个整体认识,很容易看懂。下午重看了几个主要函数,一下就串起来了,随手做了做笔记。libevent虽然没那么精炼,相比于libev的实现,还是非常易读的。这篇与张亮那篇不同,相当于原创 2012-03-23 22:30:55 · 1539 阅读 · 0 评论 -
redis/ae总结
前言:redis是一个和memcached相似的kv存储。作者自己在里边实现了一个小的事件库。为什么作者要自造轮子呢?作者自己解释如下:https://groups.google.com/group/redis-db/browse_thread/thread/b52814e9ef15b8d0/redis的事件库最大的特点就是实现很简洁。版本:2.原创 2012-08-24 23:23:26 · 1243 阅读 · 0 评论