---
title: epoll_create1
description: "**epoll_create1(int flags)**"
url: https://www.hikunpeng.com/document/detail/zh/knet/api/docs/zh/api/posix_apis/epoll_create1.md
sourcePath: /source/zh/knet/api/docs/zh/api/posix_apis/epoll_create1.md
indexId: fc01b53e43649daac0aa5f908487fe6d717945589e574f2045fc5a29d10869ad59
---
# epoll_create1

## 接口名称

**epoll_create1(int flags)**

## 接口描述

创建epoll文件描述符，并设置其标志位。

## 参数说明

|参数|说明|备注|
|--|--|--|
|flags|标志位|支持标志位0，EPOLL_CLOEXEC。|

## 返回值

类型：int

- 非负数：epoll句柄，表示成功
- -1：表示失败，并设置errno以指示错误类型

## 错误码

|错误码|描述|
|--|--|
|ENAVAIL|KNET资源初始化失败。|
|EINVAL|存在除EPOLL_CLOEXEC以外的标志位。|
|EINVAL|共线程部署模式时，sockfd的worker id和当前线程的worker id不一致，即socket跨worker线程调用。|
|ENOMEM|系统内存申请失败。|
|ENOMEM|mbuf内存申请失败。|
|EMFILE|进程的file数量超过max_tcpcb。|
|ENFILE|系统的file数量超过上限。|
|ENOSPC|尝试在主机上注册（EPOLL_CTL_ADD）新文件描述符时遇到/proc/sys/fs/epoll/max_user_watches限制。|
|EIO|读取或写入文件系统时发生I/O错误。|
|EINTR|被信号中断。|
|ELIBBAD|系统符号加载失败。|
|EPERM|信号退出流程中，不允许调用该函数接口。|
