Man page - epoll_create(2)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

epoll_create

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
epoll_create1()
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
СТАНДАРТЫ
ИСТОРИЯ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

epoll_create, epoll_create1 - открывает файловый дескриптор epoll

БИБЛИОТЕКА

Стандартная библиотека языка C ( libc , -lc )

ОБЗОР

#include <sys/epoll.h>

int epoll_create(int size );
int epoll_create1(int
flags );

ОПИСАНИЕ

epoll_create () creates a new epoll (7) instance. Since Linux 2.6.8, the size argument is ignored, but must be greater than zero; see HISTORY.

epoll_create () возвращает дескриптор файла, указывающий на новый экземпляр epoll. Он используется для всех последующих вызовов к интерфейсу epoll . По окончанию использования дескриптор файла, возвращаемый epoll_create (), должен быть закрыт с помощью close (2). Когда все файловые дескрипторы, указывающие на экземпляр epoll, будут закрыты, ядро уничтожит экземпляр и освободит связанные с ним ресурсы для повторного использования.

epoll_create1()

Если flags равно 0, то, если не учитывать, что устаревший аргумент size не используется, epoll_create1 () выполняет тоже что и epoll_create (). Для различного поведения во flags могут включаться:
EPOLL_CLOEXEC

Устанавливает флаг close-on-exec ( FD_CLOEXEC ) для нового открытого файлового дескриптора. Смотрите описание флага O_CLOEXEC в open (2) для того, чтобы узнать как это может пригодиться.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

On success, these system calls return a file descriptor (a nonnegative integer). On error, -1 is returned, and errno is set to indicate the error.

ОШИБКИ

EINVAL

Аргумент size содержит отрицательное значение.

EINVAL

( epoll_create1 ()) Указано неверное значение в flags .

EMFILE

Было достигнуто ограничение по количеству открытых файловых дескрипторов на процесс.

ENFILE

Достигнуто максимальное количество открытых файлов в системе.

ENOMEM

Недостаточно памяти для создания объекта ядра.

СТАНДАРТЫ

Linux.

ИСТОРИЯ

epoll_create ()

Linux 2.6, glibc 2.3.2.

epoll_create1 ()

Linux 2.6.27, glibc 2.9.

В первоначальной реализации epoll_create () аргумент size уведомлял ядро о количестве файловых дескрипторов, которые вызывающий предполагал добавить в экземпляр epoll . Ядро использовало эту информацию для оценки требуемого количества памяти при начальном размещении внутренних структур данных, описывающих события (если требовалось, ядро выделяло больше места, если вызывающий превышал значение, указанное в size ). Сейчас, эта оценка больше не требуется (ядро динамически выделяет место под структуры данных), но значение size всё равно должно быть больше нуля — для обеспечения обратной совместимости приложений с новым epoll для работы на старых ядрах.

Prior to Linux 2.6.29, a /proc/sys/fs/epoll/max_user_instances kernel parameter limited live epolls for each real user ID, and caused epoll_create () to fail with EMFILE on overrun.

СМОТРИТЕ ТАКЖЕ

close (2), epoll_ctl (2), epoll_wait (2), ioctl_eventpoll (2), epoll (7)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков .