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