libdevent阅读笔记
古戎烽烟
脑袋被猪拱了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
libevent(2)
event_set()函数:在将事件注册事件处理框架之前,应该先调用event_set对事件进行相关设置。intevent_assign(struct event *ev, struct event_base *base, evutil_socket_t fd, short events, void (*callback)(evutil_socket_t, short, void *), v原创 2016-01-05 09:33:09 · 481 阅读 · 0 评论 -
epoll源码分析(三)
epoll源码分析(三) http://blog.chinaunix.net/uid-20687780-id-2105159.html分类: LINUXepoll_wait系统实现如下:asmlinkage long sys_epoll_wait(int epfd,struct epoll_event __user *events转载 2016-05-11 17:26:05 · 304 阅读 · 0 评论 -
epoll源码分析----2
来自:http://blog.chinaunix.net/uid-20687780-id-2105157.html上面的原型是epoll的fd所维护的主结构,下面是每一个具体的fd结构.以后每一个fd加入到epoll中,就会创建一个struct epitem结构,并插入至红黑树中。接着是epoll_ctl函数原型:asmlinkage lon转载 2016-05-11 17:25:11 · 296 阅读 · 0 评论 -
epoll源码分析---1
当系统启动时,epoll进行初始化:static int __init eventpoll_init(void){ mutex_init(&pmutex); ep_poll_safewake_init(&psw); epi_cache = kmem_cache_create(“eventpoll_epi”,sizeof(st转载 2016-05-11 17:23:49 · 344 阅读 · 0 评论 -
select---3
select是什么 select是UNIX下一种IO多路转接(IO Multiplexing)的技术。select系统调用是用来让我们的程序监视多个文件描述符的状态变化的。程序会停在select这里等待,直到被监视的文件描述符有一个或多个发生了状态改变。 l select用法 int select(int maxfdp,fd_set *readfds,fd_set *转载 2016-05-11 16:52:18 · 431 阅读 · 0 评论 -
select----2
elect 实现分析 –2 【整理】来自 http://www.cnblogs.com/apprentice89/archive/2013/05/09/3070051.html l select相关的结构体比较重要的结构体由四个:struct poll_wqueues、struct poll_table_page、struct poll_table_entry、structpo转载 2016-05-11 16:50:25 · 305 阅读 · 0 评论 -
select----1
select源码结构图: 源码分析: #undef __NFDBITS#define __NFDBITS (8 * sizeof(unsigned long)) #undef __FD_SETSIZE#define __FD_SETSIZE 1024 #undef __FDSET_LONGS#defin转载 2016-05-11 16:46:47 · 322 阅读 · 0 评论 -
epoll-4
epoll用法回顾先简单回顾下如何使用C库封装的3个epoll相关的系统调用。更详细的用法参见http://www.cnblogs.com/apprentice89/archive/2013/05/06/3063039.htmlint epoll_create(int size);int epoll_ctl(int epfd, int op, int fd, struct epoll_转载 2016-05-11 16:48:20 · 378 阅读 · 0 评论 -
epoll ---2
copy from http://blog.csdn.net/chen19870707/article/details/42525887epoll是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,都是I/O多路复用(IO multiplexing)技术,按照man手册的说法:是为处理大批量句柄而作了改进的poll。转载 2016-05-11 16:46:04 · 519 阅读 · 0 评论 -
epoll 分析----2
copy from http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28541347&id=4285054分析了ET和LT的实现方式,那么分析他们的触发方式就容易多了。我们通过实现分析知道LT模式下epoll_wait被唤醒可以通过两种方式(图中红线和蓝线),而ET模式只能通过一种方式(图中红线)。所以ET模式下能被唤醒的情况转载 2016-05-11 16:43:58 · 246 阅读 · 0 评论 -
libevent基本结构的分析
结构体event 和event_base是libevent的两个重要数据结构;具体意思见英文解释:/** Structure to define the backend of a given event_base. */struct eventop { /** The name of this backend. */ const char *name; /** Func原创 2016-01-04 22:09:51 · 1043 阅读 · 0 评论 -
libevent8
信号工作原理参考:http://blog.csdn.net/luotuo44/article/details/38538991假如用户要监听SIGINT这个信号,那么在实现的内部就对SIGINT这个信号设置捕抓函数。此外,在实现的内部还要建立一条管道(pipe),并把这个管道加入到多路IO复用函数中。当SIGINT这个信号发生后,捕抓函数将会被调用。而这个捕抓函数的工作就是往管道写入一个字原创 2016-01-12 21:54:48 · 410 阅读 · 0 评论 -
libevent6
evmap_io_add与evmap_signal_add分析()原创 2016-01-12 15:55:50 · 370 阅读 · 0 评论 -
libevent5
在上一篇中 会调用event_assign将初始化event中去;同时调用event_add_nolock()将event添加到base中intevent_assign(struct event *ev, struct event_base *base, evutil_socket_t fd, short events, void (*callback)(evutil_socket_原创 2016-01-12 15:30:14 · 331 阅读 · 0 评论 -
libevent sample--分析及其源码阅读
time_test。c原创 2016-01-10 22:11:35 · 1044 阅读 · 0 评论 -
libevent(3)
结构体原创 2016-01-05 20:09:47 · 300 阅读 · 0 评论 -
select(poll)系统调用实现解析(一)
copy from http://blog.csdn.net/lizhiguo0532/article/details/6568964#comments上层要能使用select()和poll()系统调用来监测某个设备文件描述符,那么就必须实现这个设备驱动程序中struct file_operation结构体的poll函数,为什么?因为这两个系统调用最终都会调用驱动程序中的poll函数来初转载 2016-05-11 17:43:13 · 437 阅读 · 0 评论
分享