摘要: libevent通过socketpair实现对信号事件的监听。 还记得event_base吗? evsig_info结构如下: evsig_init 在event_base初始化阶段会完成socketpair的创建。 可以看到,sig.ev_signal关联了sig.ev_signal_pair[1 阅读全文
posted @ 2017-10-20 11:36 Sawyer Ford 阅读(1955) 评论(0) 推荐(0) 编辑
摘要: libevent是如何实现事件监听的呢? 在Linux,libevent的底层实现是epoll,因此实现事件监听的方式就是,把需要监听的fd加入epoll中。 I/O事件 定时器事件 定时器事件没有fd,那么如何监听呢? 这里先看下epoll_wait这个函数 libevent采用的方法是:每次运行 阅读全文
posted @ 2017-10-20 09:19 Sawyer Ford 阅读(496) 评论(0) 推荐(0) 编辑