libev ev_init分析
2024-08-31 02:48:43
/* these may evaluate ev multiple times, and the other arguments at most once */
/* either use ev_init + ev_TYPE_set, or the ev_TYPE_init macro, below, to first initialise a watcher */
#define ev_init(ev,cb_) do { \
((ev_watcher *)(void *)(ev))->active = \
((ev_watcher *)(void *)(ev))->pending = ; \
ev_set_priority ((ev), ); \
ev_set_cb ((ev), cb_); \
} while ()
当event_loop初始化后,就可以把自己想要做的时间丢给loop啦,具体怎么搞呢,可以调用ev_init这个宏,尼玛,又是宏!
其实关键的一句就是
ev_set_cb ((ev), cb_); 就是把ev_io的回调设置为cb_啦。 ok,就是这样! 其中,
ev_watcher 是神马玩意呢?
/* shared by all watchers */
#define EV_WATCHER(type) \
int active; /* private */ \
int pending; /* private */ \
EV_DECL_PRIORITY /* private */ \ //int priority
EV_COMMON /* rw */ \ //void* Data
EV_CB_DECLARE (type) /* private */ //声明了第一个参数为type的回调
#define EV_WATCHER_LIST(type) \
EV_WATCHER (type) \
struct ev_watcher_list *next; /* private */
是指一个watcher链表
最新文章
- 从零开始学习jQuery (三) 管理jQuery包装集
- [转载]Linux Bond的原理及其不足
- c# chart
- python走起之第五话
- 12岁的少年教你用Python做小游戏
- thinkphp 实现无限极分类
- 包装设计模式的实现以改进BufferedReader中的readLine方法为例
- Windows读取文本文件后的显示过程
- php利用smtp类轻松的发送电子邮件
- AngularJS实现表单手动验证和表单自动验证
- IDEA14中安装go语言插件
- java+tomcat+Eclipse+mysql配置
- HTML中的table布局
- CSS常用字体名称
- 土制Excel导入导出及相关问题探讨
- IDE安装Lombok插件提高开发效率
- Python 标准异常总结
- # 20175227 2018-2019-2 《Java程序设计》第二周学习总结
- 20155227《网络对抗》Exp5 MSF基础应用
- js 加alert后才能执行方法
热门文章
- python对json的操作总结 zz
- 【Scala】Scala-循环与遍历
- 抽屉柜式MCC柜中PROFIBUS设备推荐波特率及相应传输距离
- [Canvas]人物型英雄出现(前作仅为箭头)
- Code optimization and organization in Javascript / jQuery
- Log4j中conversionPattern的含义
- WIN10系统如何取消右下角的通知菜单,通知图标
- 如何在onCreate方法中获取视图的宽度和高度
- ObservableCollection<;T>; 类
- You have version null and I want version 8