epoll_create(2) - wariua/manpages-ko GitHub Wiki
epoll_create, epoll_create1 - epoll νμΌ λμ€ν¬λ¦½ν° μ΄κΈ°
#include <sys/epoll.h>
int epoll_create(int size);
int epoll_create1(int flags);epoll_create()λ μ epoll(7) μΈμ€ν΄μ€λ₯Ό λ§λ λ€. 리λ
μ€ 2.6.8λΆν°λ size μΈμλ₯Ό 무μνλ 0보λ€λ μ»€μΌ νλ€. μλ NOTES μ°Έκ³ .
epoll_create()λ μ epoll μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν€λ νμΌ λμ€ν¬λ¦½ν°λ₯Ό λ°ννλ€. μ΄νμ epoll μΈν°νμ΄μ€ νΈμΆ λͺ¨λμ μ΄ νμΌ λμ€ν¬λ¦½ν°κ° μ°μΈλ€. epoll_create()κ° λ°νν νμΌ λμ€ν¬λ¦½ν°κ° λ μ΄μ νμμΉ μμΌλ©΄ close(2)λ‘ λ«μμΌ νλ€. epoll μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν€λ λͺ¨λ νμΌ λμ€ν¬λ¦½ν°κ° λ«νμ λ 컀λμμ κ·Έ μΈμ€ν΄μ€λ₯Ό νκΈ°νκ³ κ΄λ ¨ μμμ μ¬μ¬μ©ν μ μκ² ν΄μ νλ€.
flagsκ° 0μΈ κ²½μ°μλ ꡬμ size μΈμκ° μμ΄μ‘λ€λ μ μ λΉΌκ³ epoll_create1()μ΄ epoll_create()μ λμΌνλ€. flagsμ λ€μ κ°μ ν¬ν¨μμΌμ λ€λ₯Έ λμ λ°©μμ μ»μ μ μλ€.
EPOLL_CLOEXEC- μ νμΌ λμ€ν¬λ¦½ν°μ 'execμμ λ«κΈ°'(
FD_CLOEXEC) νλκ·Έλ₯Ό μ€μ νλ€. μ΄κ² μ μ©ν μ μλ μ΄μ μ λν΄μ open(2)μO_CLOEXECνλκ·Έ μ€λͺ μ 보λΌ.
μ±κ³΅ μ μ΄ μμ€ν
νΈμΆλ€μ μμ μλ νμΌ λμ€ν¬λ¦½ν°λ₯Ό λ°ννλ€. μ€λ₯ μ -1μ λ°ννλ©° μ€λ₯λ₯Ό λνλ΄λλ‘ errnoλ₯Ό μ€μ νλ€.
EINVAL-
sizeκ° μμκ° μλλ€. EINVAL- (
epoll_create1())flagsμ μ ν¨νμ§ μμ κ°μ μ§μ νλ€. EMFILE-
/proc/sys/fs/epoll/max_user_instancesμ λ°λ₯Έ epoll μΈμ€ν΄μ€ κ°μμ λν μ¬μ©μλ³ μ νμ κ±Έλ Έλ€. μμΈν λ΄μ©μ epoll(7) μ°Έκ³ . EMFILE- μ΄λ¦° νμΌ λμ€ν¬λ¦½ν° κ°μμ λν νλ‘μΈμ€λ³ μ νμ λλ¬νλ€.
ENFILE- μ΄λ¦° νμΌ μ΄κ°μμ λν μμ€ν μ μ μ νμ λλ¬νλ€.
ENOMEM- 컀λ κ°μ²΄λ₯Ό μμ±νκΈ°μ λ©λͺ¨λ¦¬κ° μΆ©λΆνμ§ μμλ€.
컀λ λ²μ 2.6μμ epoll_create()μ΄ μΆκ°λμλ€. glibc λ²μ 2.3.2λΆν° λΌμ΄λΈλ¬λ¦¬ μ§μμ μ 곡νλ€.
컀λ λ²μ 2.6.27μμ epoll_create1()μ΄ μΆκ°λμλ€. glibc λ²μ 2.9λΆν° λΌμ΄λΈλ¬λ¦¬ μ§μμ μ 곡νλ€.
epoll_create()μ 리λ
μ€ μ μ©μ΄λ€.
μ΄κΈ° epoll_create() ꡬνμμ size μΈμλ νΈμΆμκ° κ·Έ epoll μΈμ€ν΄μ€μ μΆκ°νλ¦¬λΌ μμνλ νμΌ λμ€ν¬λ¦½ν° μλ₯Ό 컀λμκ² μλ €μ£ΌκΈ° μν κ²μ΄μλ€. 컀λμμλ λ΄λΆμ μ΄λ²€νΈ μ§ν© μλ£ κ΅¬μ‘°λ₯Ό μ²μ ν λΉν λ ν¬κΈ°μ λν ννΈλ‘ κ·Έ μ 보λ₯Ό μ¬μ©νλ€. (νΈμΆμκ° μ€μ μ¬μ©μμ sizeλ‘ μ€ ννΈλ₯Ό μ΄κ³Όνλ©΄ 컀λμμ μΆκ°λ‘ 곡κ°μ ν λΉνλ€.) μμ¦μ (ννΈ μμ΄λ 컀λμμ νμν μλ£ κ΅¬μ‘° ν¬κΈ°λ₯Ό λμ μΌλ‘ μ‘°μ νλ―λ‘) κ·Έ ννΈκ° λ μ΄μ νμμΉ μλ€. νμ§λ§ sizeκ° μ¬μ ν 0λ³΄λ€ μ»€μΌ νλλ°, μ epoll μμ©μ΄ μ΄μ 컀λμμ λ λ νμ νΈνμ±μ 보μ₯νκΈ° μν΄μμ΄λ€.
close(2), epoll_ctl(2), epoll_wait(2), epoll(7)
2017-09-15