上一节着重分析了event_init是如何集成signal,这一节从event_add展开分析

ev_events有四种类型

  I/O事件: EV_WRITE和EV_READ
  定时事件:EV_TIMEOUT
  信号:    EV_SIGNAL
  辅助选项:EV_PERSIST,表明是一个永久事件

ev_flags有以下几种状态

#define EVLIST_TIMEOUT 0x01 // event在time堆中
#define EVLIST_INSERTED 0x02 // event在已注册事件链表中
#define EVLIST_SIGNAL 0x04 // 未见使用
#define EVLIST_ACTIVE 0x08 // event在激活链表中
#define EVLIST_INTERNAL 0x10 // 内部使用标记
#define EVLIST_INIT     0x80 // event已被初始化  

转载于:https://www.cnblogs.com/wangshaowei/p/8592131.html

libevent-signal(2)相关推荐

  1. 在 Mac 上为 Android 编译 WebRTC

    在 Mac 上为 Android 编译 WebRTC 的基本流程和在任意平台上编译任何其它目标平台的 WebRTC 大体一致,但在 Mac 上为 Android 编译 WebRTC 不是 WebRTC ...

  2. 基于libevent和unix domain socket的本地server

    https://www.pacificsimplicity.ca/blog/libevent-echo-server-tutorial 根据这一篇写一个最简单的demo.然后开始写client. cl ...

  3. libevent和libcurl实现http和https服务器 cJSON使用

    前言 libevent和libcurl都是功能强大的开源库:libevent主要实现服务器,包含了select.epoll等高并发的实现:libcurl实现了curl命令的API封装,主要作为客户端. ...

  4. libevent库的安装与使用

    一.libevent库的安装 Libevent 使用源码安装的方式,源码下载地址:http://libevent.org/ 下载下来后,将 Libevent 的压缩包拷贝到 Linux 系统中,然后按 ...

  5. windows下编译及使用libevent

    Libevent官网:http://libevent.org/ windows 7下编译: 编译环境: windows 7 + VS2010 (1)解压libevent到F:\libevent\lib ...

  6. libevent+多线程的服务器模型

    最近在看memcached的源码,觉得它那种libevent+多线程的服务器模型真的很不错,我将这个模型封装成一个C++类,根据我的简单测试,这个模型的效率真的很不错,欢迎大家试用. 这个类的使用方法 ...

  7. linux 查看libevent 安装目录,linux下libevent安装配置与简介 以及 linux库文件搜索路径的配置...

    libevent简介 libevent是基于Reactor模式的I/O框架库,它具有良好的跨平台性和线程安全,它实现了统一事件源(即对I/O事件.信号和定时事件提供统一的处理).高性能分布式内存对象缓 ...

  8. libevent中的基本数据结构

     libevent中文件queue.h文件包含5种数据结构:单链表,双向链表,队列,尾队列,环形队列.在处理I/O和signal中的事件时,用的就是尾队列,下面就介绍这几种数据结构 1.单链表 链表 ...

  9. libevent中事件的添加与删除

     前面介绍了libevent中的hash表,在添加事件时,具体是如何操作的呢?事件操作主要是在evmap.c文件中,包含了io事件,signal事件的操作.在事件操作时,分两种情况,一种是利用ha ...

  10. libevent在windows下使用步骤详解

     libevent是一个常用的网络库,下面就看看在windows下面编译测试的过程吧. 一 环境 系统:win8.1 编译器:VS2013 官方下载地址:http://libevent.org/ ...

最新文章

  1. 【数学专题】组合数学与计数
  2. c语言建立栈(顺序栈、双栈和链式栈)
  3. jQuery in BSP
  4. 正则表达式限制文本框只能输入数字
  5. java学习(152):字节缓冲输出流
  6. Visual Studio 2010 实用功能总结图解
  7. typedef struct和struct定义结构体的区别
  8. ASP.NET中的TextBox下划线
  9. 2014年黑金FPGA原创教程规划发布
  10. 查看oracle操作历史,查看操作历史记录
  11. 从零开始足球战术分析
  12. 一幅真实的产品世界全景图,产品小白向上突破必看!
  13. addToSet与each插入多条值
  14. 合适的教育ERP管理系统,可让你省去很多麻烦
  15. filter指定过滤不起作用
  16. iOS Core Bluetooth_1 概述
  17. 十一月的Kemin,不是萧邦 2005
  18. 2022-2027年中国灵芝孢子粉行业市场全景评估及发展战略规划报告
  19. 怎样把c语言软件卸载干净,系统软件怎样操作才能彻底卸载删除干净软件程序...
  20. 会议新闻稿件怎么撰写?需注意这几点

热门文章

  1. 漫画设计模式:什么是 “职责链模式” ?
  2. 曾是谷歌程序员,抛下百万年薪创业,4 年成就 7 亿用户,今身价百亿!
  3. 新手关于import/export的理解
  4. python 获取当前ip
  5. mongodb的锁和高并发
  6. 发布一个持续集成的npm包并加上装逼小icon
  7. 终于完成需求模块开发了,jQuery实现的效果,PHP操作数据库
  8. 乐刷科技-Java工程师社招面试
  9. Netweaver工作进程的内存限制 VS CloudFoundry应用的内存限制
  10. 浅入浅出 Android 安全:第三章 Android 本地用户空间层安全