epoll_create,打开一个epoll文件描述符。

#include <sys / epoll.h>nfd = epoll_creat(max_size);

epoll_create()创建一个epoll实例。其中nfd为epoll句柄,参数max_size标识这个监听的数目最大有多大,从Linux 2.6.8开始,max_size参数将被忽略,但必须大于零。epoll_create()返回引用新epoll实例的文件描述符。该文件描述符用于随后的所有对epoll的调用接口。每创建一个epoll句柄,会占用一个fd,因此当不再需要时,应使用close关闭epoll_create()返回的文件描述符,否则可能导致fd被耗尽。当所有文件描述符引用已关闭的epoll实例,内核将销毁该实例并释放关联的资源以供重用。

返回值:
       成功时,这些系统调用将返回非负文件描述符。如果出错,则返回-1,并且将errno设置为指示错误。

错误errno:
       EINVAL大小不为正。

EMFILE遇到了每个用户对/ proc / sys / fs / epoll / max_user_instances施加的epoll实例数量的限制。

ENFILE已达到打开文件总数的系统限制。

ENOMEM没有足够的内存来创建内核对象。

注意:在最初的epoll_create()实现中,size参数将调用者希望添加到的文件描述符的数量告知内核。epoll实例。内核使用该信息作为内部数据结构初始分配空间的提示,事件。 (如果有必要,如果调用方的使用超出了大小提示,内核将分配更多空间。)如今,此提示不再必需(内核无需提示即可动态调整所需数据结构的大小),但是大小必须仍大于零,以便当新的epoll应用程序在较旧的内核上运行时,请确保向后兼容。

epoll_create详解相关推荐

  1. epoll详解【epoll_create】【epoll_ctl】【epoll_wait】

    文章目录 0 - 前言 1 - epoll接口 epoll_create epoll_ctl epoll_wait 0 - 前言 参考:epoll机制:epoll_create.epoll_ctl.e ...

  2. winform 让他间隔一段时间 执行事件 且只执行一次_Redis 事件机制详解

    点击上方"程序员历小冰",选择"置顶或者星标" 你的关注意义重大! Redis 采用事件驱动机制来处理大量的网络IO.它并没有使用 libevent 或者 li ...

  3. Linux下的I/O复用与epoll详解

    前言 I/O多路复用有很多种实现.在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术.尽管 ...

  4. linux epoll事件模型详解

    一.介绍 epoll是Linux(内核版本2.6及以上支持)下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件 ...

  5. Python中的select、epoll详解

    Python中的select.epoll详解 文章目录 Python中的select.epoll详解 一.select 1.相关概念 2.select的特性 1.那么单进程是如何实现多并发的呢??? ...

  6. linux网络编程--select/poll/epoll 详解

    目录 参考链接 epoll函数 close epoll event EL/LT ET Edge Trigger 边沿触发工作模式 LT Level Trigger 水平触发工作模式 epoll 源码解 ...

  7. (转载) Linux IO模式及 select、poll、epoll详解

    注:本文是对众多博客的学习和总结,可能存在理解错误.请带着怀疑的眼光,同时如果有错误希望能指出. 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案 ...

  8. Linux惊群效应详解(最详细的了吧)

    https://blog.csdn.net/lyztyycode/article/details/78648798?locationNum=6&fps=1 linux惊群效应 详细的介绍什么是 ...

  9. Linux IO模式及 select、poll、epoll详解

    https://segmentfault.com/a/1190000003063859 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的. ...

最新文章

  1. docker 容器数据备份
  2. mysql jdbc简介_JDBC简介
  3. Xamarin iOS教程之编辑界面编写代码
  4. leetcode算法题--等差数列划分
  5. 一个不错的shell 脚本入门教程
  6. 02-java常量变量数据类型
  7. 【Java注解】自定义注解、与数据库结合使用
  8. 推荐一个可交互的 Attention 可视化工具!我的Transformer可解释性有救啦?
  9. 当你已经23~男生女生都该看
  10. c++文件内容与输入内容进行比较_使用位运算对数据或文件内容进行加密
  11. python找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法
  12. flash我中学时的梦想
  13. 关于Javascript, php的web公开课笔记
  14. 双层pdf软件free_如何一键下载网上文档以及pdf
  15. 08-新闻发布系统数据库-新闻类别数据操作
  16. UNICODE,GBK,UTF-8区别
  17. Android渠道推广方案相关知识收集
  18. git原理学习记录:从基本指令到背后原理,实现一个简单的git
  19. kotlin读取文件算法
  20. Struts2 常用标签使用(三十九)

热门文章

  1. m文件关联matlab,matlab关联m文件
  2. Ubuntu16.04下Qt交叉编译开发环境搭建
  3. hiho一下 第三周---KMP算法
  4. 【苹果推iMessage】软件安装命令打开工程: open ios/AwesomeProject.xcodeproj
  5. 降本增收 相约Q4 |衡石九月头条
  6. css动画结束闪烁,CSS秘密花园: 闪烁动画
  7. 精选文章:人生第一辆车购车八大流程及提车注意事项之最强攻略
  8. 3.2 搞懂小红书算法运营逻辑,只需要5分钟【玩赚小红书】
  9. 一套自动化无纸办公系统(OA+审批流)源码:带数据字典
  10. [linux工具] tcpdump丢包问题