libevent(3)
来源:互联网 发布:帮淘宝刷好评要交钱吗 编辑:程序博客网 时间:2024/06/15 02:36
信号signal事件:
见博客http://www.cnblogs.com/hustcat/archive/2010/08/31/1814022.html分析
socket pair
Libevent通过socketpair,将signal事件与I/O事件完美的统一起来。Socketpair,简单的说就一对socket,一端用于写,一端用于读。工作方式如下
为了与I/O事件统一起来,libevent内部使用了一个针对read socket的读事件。
Socketpair的创建
与信号事件的初始化工作都是在evsignal_init中完成的,而evsignal_init通过调用evutil_socketpair创建socketpair。对于Unix平台,有socketpair系统调用;对于Windows,则相对复杂一些,具体见evutil_socketpair函数的实现。
Socketpair used to send notifications from the signal handler
evsig_info结构体分析
struct evsig_info {/* Event watching ev_signal_pair[1] */struct event ev_signal;/* Socketpair used to send notifications from the signal handler */evutil_socket_t ev_signal_pair[2];/* True iff we've added the ev_signal event yet. */int ev_signal_added;/* Count of the number of signals we're currently watching. */int ev_n_signals_added;/* Array of previous signal handler objects before Libevent started * messing with them. Used to restore old signal handlers. */#ifdef EVENT__HAVE_SIGACTIONstruct sigaction **sh_old;#elseev_sighandler_t **sh_old;#endif/* Size of sh_old. */int sh_old_max;};
0 0
- libevent(3)
- Libevent:3创建event_base
- libevent 参考手册3
- libevent(3)
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- libevent
- AJAX 教程解析
- 不再见
- java 返回指定月份的最后一天的59分59秒
- Shell Programming If
- js中arguments是什么
- libevent(3)
- 反射动态调用服务器wcf方法
- Struts2注解配置之@Action(二)
- Python编程(三):Python之MVC
- <三> H264编码
- Service启动的两种方式案例
- .9图片使用总结
- Android的Recovery中font_10x18.h字库文件制作
- Struts2注解配置之@Results和@Result(三)