.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2003 Davide Libenzi .\" and Copyright 2008, 2009, 2012 Michael Kerrisk .\" Davide Libenzi .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified 2004-06-17 by Michael Kerrisk .\" Modified 2005-04-04 by Marko Kohtala .\" 2008-10-10, mtk: add description of epoll_create1() .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH epoll_create 2 "12 июня 2024 г." "Справочные страницы Linux 6.9.1" .SH ИМЯ epoll_create, epoll_create1 \- открывает файловый дескриптор epoll .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBint epoll_create(int \fP\fIsize\fP\fB);\fP \fBint epoll_create1(int \fP\fIflags\fP\fB);\fP .fi .SH ОПИСАНИЕ \fBepoll_create\fP() creates a new \fBepoll\fP(7) instance. Since Linux 2.6.8, the \fIsize\fP argument is ignored, but must be greater than zero; see HISTORY. .P \fBepoll_create\fP() возвращает дескриптор файла, указывающий на новый экземпляр epoll. Он используется для всех последующих вызовов к интерфейсу \fBepoll\fP. По окончанию использования дескриптор файла, возвращаемый \fBepoll_create\fP(), должен быть закрыт с помощью \fBclose\fP(2). Когда все файловые дескрипторы, указывающие на экземпляр epoll, будут закрыты, ядро уничтожит экземпляр и освободит связанные с ним ресурсы для повторного использования. .SS epoll_create1() Если \fIflags\fP равно 0, то, если не учитывать, что устаревший аргумент \fIsize\fP не используется, \fBepoll_create1\fP() выполняет тоже что и \fBepoll_create\fP(). Для различного поведения во \fIflags\fP могут включаться: .TP \fBEPOLL_CLOEXEC\fP Устанавливает флаг close\-on\-exec (\fBFD_CLOEXEC\fP) для нового открытого файлового дескриптора. Смотрите описание флага \fBO_CLOEXEC\fP в \fBopen\fP(2) для того, чтобы узнать как это может пригодиться. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" On success, these system calls return a file descriptor (a nonnegative integer). On error, \-1 is returned, and \fIerrno\fP is set to indicate the error. .SH ОШИБКИ .TP \fBEINVAL\fP Аргумент \fIsize\fP содержит отрицательное значение. .TP \fBEINVAL\fP (\fBepoll_create1\fP()) Указано неверное значение в \fIflags\fP. .TP \fBEMFILE\fP Было достигнуто ограничение по количеству открытых файловых дескрипторов на процесс. .TP \fBENFILE\fP Достигнуто максимальное количество открытых файлов в системе. .TP \fBENOMEM\fP Недостаточно памяти для создания объекта ядра. .SH СТАНДАРТЫ Linux. .SH ИСТОРИЯ .TP \fBepoll_create\fP() .\" To be precise: kernel 2.5.44. .\" The interface should be finalized by Linux kernel 2.5.66. Linux 2.6, glibc 2.3.2. .TP \fBepoll_create1\fP() Linux 2.6.27, glibc 2.9. .P В первоначальной реализации \fBepoll_create\fP() аргумент \fIsize\fP уведомлял ядро о количестве файловых дескрипторов, которые вызывающий предполагал добавить в экземпляр \fBepoll\fP. Ядро использовало эту информацию для оценки требуемого количества памяти при начальном размещении внутренних структур данных, описывающих события (если требовалось, ядро выделяло больше места, если вызывающий превышал значение, указанное в \fIsize\fP). Сейчас, эта оценка больше не требуется (ядро динамически выделяет место под структуры данных), но значение \fIsize\fP всё равно должно быть больше нуля — для обеспечения обратной совместимости приложений с новым \fBepoll\fP для работы на старых ядрах. .P .\" commit 9df04e1f25effde823a600e755b51475d438f56b Prior to Linux 2.6.29, a \fI/proc/sys/fs/epoll/max_user_instances\fP kernel parameter limited live epolls for each real user ID, and caused \fBepoll_create\fP() to fail with \fBEMFILE\fP on overrun. .SH "СМОТРИТЕ ТАКЖЕ" \fBclose\fP(2), \fBepoll_ctl\fP(2), \fBepoll_wait\fP(2), \fBioctl_eventpoll\fP(2), \fBepoll\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Azamat Hackimov , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .