用一个调用链来表示函数调用的流程,看起来更直观。根据上面的分析,总结了一些重要的调用链。

初始化

event_base_new

event_base_new_with_config

min_heap_ctor

event_deferred_cb_queue_init

evmap_io_initmap

evmap_signal_initmap

event_changelist_init

<bind evsel>

evsel->init[select_init]

select_resize

evsig_init

evutil_socketpair

<assign base->evsig->ev_signal

添加事件

event_add

event_add_internal

evmap_io_add

或evmap_signal_add

event_queue_insert

消息泵

event_base_dispatch

select_dispatch[evsel->dispatch]

select

evmap_io_active

event_process_active

event_process_active_single_queue

(*ev->callback)(...)

最新文章

  1. urllib.urlretrieve的用法
  2. Cordova webapp实战开发:(1)为什么选择 Cordova webapp?
  3. spring服务定位器类
  4. 迅雷首席架构师刘智聪:微信小程序的架构与系统设计的几点观感
  5. 换个心境搞IT,在IT职场如何打拼?
  6. iOS 获取当前媒体音量
  7. UVA-548Tree(二叉树的递归遍历)
  8. 关于a.b和a[b]的区别
  9. jquery的ajax提交后,会跳转页面
  10. python导入不同目录下模块的方法
  11. STL常用整理
  12. js 实现数据结构 -- 集合
  13. MySQL中show profiles的开启
  14. Python学习—基础篇之基本数据类型(一)
  15. ECstore后台报表显示空白问题解决办法
  16. 统计单词数 OpenJ_Bailian - 4030(字符串处理)
  17. GreenDao存储自定义类型对象解决方案(转)
  18. 不可不知的Python模块: collections
  19. 你应该了解的强大CSS表达式 ----- expression
  20. oracle04--伪列

热门文章

  1. 《锋利的JQuery》读书要点笔记3——事件和动画
  2. centos6.5 403 Forbidden 设置了777还是不行
  3. Kattis - boxes (dfn序)
  4. 概述struts,以及struts如何实现MVC架构的
  5. [Contest20180116]随机游走
  6. 使用jQuery操作dom(追加和删除样式-鼠标移入移出)练习
  7. no such file or directory : &#39;users/shikx/xxx/xxx/Appirater.m&#39;
  8. Java下List使用subList实现分页获取
  9. IntelliJ IDEA字符串常量长度太长的问题解决:constant string too long
  10. U盘安装Ubuntu 16.04出现:Failed to load ldlinux.c32