libevent signal 信号事件
2015-06-24 16:25
465 查看
关于libevent信号事件(SIGINT信号)的一个小列子
参考:https://github.com/libevent/libevent/blob/master/sample/signal-test.c
<span style="font-family:Microsoft YaHei;font-size:14px;">#include <iostream> #include <event2/event.h> #include <event2/event-config.h> #include <stdio.h> #include <signal.h> using namespace std; struct event_base *base; int called = 0; void signal_cb(evutil_socket_t fd,short event,void *arg){ struct event *signal = (struct event *)arg; printf("%s : got signal %d\n",__func__,event_get_signal(signal)); if(called >= 2) event_del(signal); //删除信号事件 called++; // event_base_loopbreak(base); } int main(int argc, char **argv){ base = event_base_new(); if(base == NULL){ printf("create event base failed \n"); return -1; } struct event *signal_int = evsignal_new(base,SIGINT,signal_cb,event_self_cbarg()); // if(!signal_int || event_add(signal_int,NULL) < 0){ printf("create or add signal_int failed \n"); return -1; } event_base_dispatch(base); event_base_free(base); printf("after event_base_dispatch\n"); return 0; } </span>
参考:https://github.com/libevent/libevent/blob/master/sample/signal-test.c
相关文章推荐
- VC维
- linux几种快速清空文件内容的方法
- swift 的关健词
- Win10系统如何临时禁用微软小娜因为她不会说汉语
- 我的Java开发学习之旅------>Java经典排序算法之快速排序
- oracle 序列重置
- Java作业整理
- OpenWrt配置opkg.conf
- 谈科目三考试
- Android事件传递简介
- UIButton的titleEdgeInsets和imageEdgeInsets属性
- pthread_mutex_cond_lock_full
- 程序语言 -- Python面向对象
- Linux下查看系统支持最大内存及硬件信息
- 自定义返回按钮
- MySQL 中的常用函数
- vi命令应用
- Java作业整理
- Struts2+Hibernate4+Spring3 整合登录例子
- 百度地图主动定位功能