分析libevent的源代码,我的想法的是先分析各种结构体,struct event_base.struct event,然后是event_base_new函数.event_new函数.event_add函数,最后分析event_base_dispatch函数. 一.各种结构体 1.event_base struct event_base { /** Function pointers and other data to describe this event_base's * backend.…
event_base是libevent的事务处理框架,负责事件注册.删除等,属于Reactor模式中的Reactor. event_base结构体 event_base结构体定义于<event_internal.h>中: struct event_base { /** Function pointers and other data to describe this event_base's * backend. */ const struct eventop *evsel; /** Poin…
Linux下操作系统编程有两本经典APUE即<Advanced Programming in the UNIX Environment>和TLPI<The Linux Programming Interface>,中文版对应<UNIX环境高级编程(第3版)>和<Linux/UNIX系统编程>. TLPI洋洋洒洒英文版1506页,中文版1176页:一共64章节,明显是作为工具书使用.通过目录可以了解本书的结构,以及作者的组织形式. 背景知识及概念:共3章分别介…
1)代码执行时间检测 通过取系统时间,检测关键代码执行耗时,检测单步调试,类似函数有:time,gettimeofday,clock_gettime. 也可以直接使用汇编指令RDTSC读取,但测试ARM64有兼容问题. time_t t1, t2; time (&t1); /* Parts of Important Codes */ time (&t2); if (t2 - t1 > 2) { puts ("debugged"); } 2)检测 procfs 文件…