libevent
spch2008
github.com/spch2008
展开
-
libevent信号机制
结构体struct evsignal_info { struct event ev_signal; /* 整体作为一个事件,加入epoll中 */ int ev_signal_pair[2]; /* 信号套接字 */ int ev_signal_added; /* 是否加入epoll */volatile sig_atomic_t evsignal原创 2014-11-13 10:29:46 · 1395 阅读 · 0 评论 -
libevent事件循环
1. 纠正时间,因为用户可能手动更改本地时间,这样导致时间不准确,超时事件受到影响。2. 获取堆顶元素超时时间,与当前时间相减,得到差值,该差值传给epoll,让其最晚在差值时间后返回。如果,当前堆顶已经超时了,则直接返回0,让epoll_wait 立即返回。3. 记录时间点1, tv_cache-> event_tv4. epoll_wait等5. 记录时间点 2 系统调用获取原创 2014-11-13 10:34:40 · 1269 阅读 · 0 评论 -
libevent主要数据结构
1. 通用结构体#define TAILQ_ENTRY(type) \struct { \ struct type *tqe_next; /* next element */ \ struct type **tqe_prev; /* previous element */ \原创 2014-11-13 10:28:42 · 1040 阅读 · 0 评论 -
libevent定时器机制
超时机制:时间是时间点,比如8:40:35超时,那么获得当前时间,如果小于该时间,则视为超时。 添加超时事件:添加超时事件的时候,添加相对时间,比如8s后超时,在内部会进行处理,即取得当前时间,加上超时时间,得到超时时间点。 struct timeval tv; tv.tv_sec = 10;tv.tv_usec = 0; evtimer_set(&ev原创 2014-11-13 10:30:31 · 984 阅读 · 0 评论 -
libevent示例代码
仅仅演示libevent的使用过程,不去考虑原创 2014-11-13 10:32:50 · 1593 阅读 · 0 评论 -
libevent开篇
libevent是一个基于事件的网络库,用于管理原创 2014-11-13 10:28:19 · 960 阅读 · 0 评论 -
libevent-1.4.so.2动态链接库加载失败
问题描述:./server: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory问题原因:LD_DEBUG=libs ./server -v > log 2>&1在所有搜寻路径中,都无法原创 2016-05-09 13:52:10 · 3415 阅读 · 0 评论