Scroll to navigation

epoll_create(2) System Calls Manual epoll_create(2)

NUME

epoll_create, epoll_create1 - deschide un descriptor de fișier epoll

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#include <sys/epoll.h>
int epoll_create(int size);
int epoll_create1(int flags);

DESCRIERE

epoll_create() creează o nouă instanță epoll(7). Începând cu Linux 2.6.8, argumentul size este ignorat, dar trebuie să fie mai mare decât zero; a se vedea NOTE.

epoll_create() returnează un descriptor de fișier care se referă la noua instanță epoll. Acest descriptor de fișier este utilizat pentru toate apelurile ulterioare la interfața epoll. Atunci când nu mai este necesar, descriptorul de fișier returnat de epoll_create() trebuie închis prin utilizarea close(2). Atunci când toți descriptorii de fișiere care se referă la o instanță epoll au fost închiși, nucleul distruge instanța și eliberează resursele asociate pentru reutilizare.

epoll_create1()

Dacă flags este 0, atunci, în afară de faptul că se renunță la argumentul învechit size, epoll_create1() este la fel ca epoll_create(). Următoarea valoare poate fi inclusă în flags pentru a obține un comportament diferit:

Stabilește fanionul „close-on-exec” (FD_CLOEXEC) pe noul descriptor de fișier. A se vedea descrierea fanionului O_CLOEXEC în open(2) pentru motivele pentru care acest lucru poate fi util.

VALOAREA RETURNATĂ

În caz de succes, aceste apeluri de sistem returnează un descriptor de fișier (un număr întreg nenegativ). În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

argumentul size nu este pozitiv.
(epoll_create1()) Valoare nevalidă specificată în flags.
A fost întâlnită limita per utilizator a numărului de instanțe epoll impusă de /proc/sys/fs/epoll/max_user_instances. Pentru mai multe detalii, consultați epoll(7).
Limita per proces a numărului de descriptori de fișiere deschise a fost atinsă.
Limita la nivel de sistem a numărului total de fișiere deschise a fost atinsă.
Nu a existat suficientă memorie pentru a crea obiectul nucleului.

VERSIUNI

Apelul epoll_create() a fost adăugat în Linux 2.6. Suportul pentru bibliotecă este furnizat în glibc 2.3.2.

Apelul epoll_create1() a fost adăugat în Linux 2.6.27. Suportul pentru bibliotecă este furnizat în glibc 2.9.

STANDARDE

epoll_create() și epoll_create1() sunt specifice Linux.

NOTE

În implementarea inițială a epoll_create(), argumentul size informa nucleul cu privire la numărul de descriptori de fișiere pe care apelantul se aștepta să îi adauge la instanța epoll. Nucleul folosea această informație ca un indiciu pentru cantitatea de spațiu pe care trebuia să o aloce inițial în structurile de date interne care descriu evenimentele (dacă era necesar, nucleul aloca mai mult spațiu dacă utilizarea apelantului depășea indicația dată în size). În prezent, acest indiciu nu mai este necesar ( nucleul dimensionează în mod dinamic structurile de date necesare fără a avea nevoie de indiciu), dar size trebuie să fie în continuare mai mare decât zero, pentru a asigura compatibilitatea retroactivă atunci când noile aplicații epoll sunt rulate pe nuclee mai vechi.

CONSULTAȚI ȘI

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

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

4 decembrie 2022 Pagini de manual de Linux 6.03