epoll¿¡ ÀÔÃâ·Â À̺¥Æ®¸¦ ±â´Ù¸°´Ù.
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Docbook ¿ø¹®

<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=epoll_wait">epoll_wait</a>(2)

1장. epoll_wait(2)

ÆÄÀÏ¿¡¼­ À̺¥Æ®ÀÇ ¹ß»ýÀ» ±â´Ù¸°´Ù.


1.1. »ç¿ë¹ý

#include <sys/epoll.h>

int  epoll_wait(int  epfd,  struct epoll_event * events, int maxevents,
                int timeout);
		


1.2. ¼³¸í

epoll_wait(2)´Â timeout½Ã°£µ¿¾È epoll ÁöÁ¤ÀÚ epfd¿¡ µî·ÏµÈ ÆÄÀÏ·Î ºÎÅÍ ÀÔÃâ·Â À̺¥Æ®°¡ ¹ß»ýÇÏ´ÂÁö °Ë»çÇÑ´Ù. ¸¸¾à À̺¥Æ®°¡ ¹ß»ýÇß´Ù¸é À̺¥Æ®°¡ ¹ß»ýÇÑ ÆÄÀÏÀÇ epoll À̺¥Æ® ±¸Á¶Ã¼events¸¦ µÇµ¹·ÁÁØ´Ù. ´ÙÀ½Àº Á¤ÀÇµÈ events±¸Á¶Ã¼ÀÌ´Ù.

	
typedef union epoll_data {
     void *ptr;
     int fd;
     __uint32_t u32;
     __uint64_t u64;
} epoll_data_t;

struct epoll_event {
     __uint32_t events;  /* Epoll À̺¥Æ® */
     epoll_data_t data;  /* À¯Àú ¼³Á¤ °ª */
};
		

timeout´Â ¹Ð¸®¼¼ÄÁµå ´ÜÀ§À̸ç, -1ÀÏ °æ¿ì ¿µ¿øÈ÷ ±â´Ù¸®°í, 0ÀÏ ¶§´Â ¹Ù·Î ¸®ÅÏ, 0º¸´Ù Ŭ¶§´Â timeout¹Ð¸®ÃÊ ¸¸Å­ À̺¥Æ®ÀÇ ¹ß»ýÀ» ±â´Ù¸°´Ù. À̺¥Æ®°¡ ¹ß»ýÇϸé epoll_wait(2)´Â ¸®ÅÏÇϸç, À̺¥Æ®°¡ ¹ß»ýÇÑ ÆÄÀÏÀÇ °¹¼ö¸¦ ¸®ÅÏÇÑ´Ù. ¸¸¾à timeout ½Ã°£³»¿¡ À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾Ê¾Ò´Ù¸é 0À» ¸®ÅÏÇÑ´Ù.

epoll_wait(2)´Â ¸®ÅÏÇÒ ¶§, epoll_ctl(2)¿¡ ÀÇÇØ¼­ ¼³Á¤µÈ À¯Àú ¼³Á¤±¸Á¶Ã¼ÀÎ epoll_data.event°¡ ±×´ë·Î ³Ñ¾î¿Â´Ù. À̸¦ ÀÌ¿ëÇØ¼­ ¿ì¸®´Â À̺¥Æ®°¡ ¹ß»ýÇßÀ» ¶§ ¿©·¯°¡Áö Á¤º¸¸¦ ¾ò¾î¿Ã ¼ö ÀÖ´Ù.


1.3. ¹Ýȯ°ª

¼º°øÇßÀ» °æ¿ì À̺¥Æ®°¡ ¹ß»ýÇÑ ÆÄÀÏ ÁöÁ¤ÀÚÀÇ °¹¼ö¸¦ ¸®ÅÏÇÑ´Ù. timeout½Ã°£ µ¿¾È À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾Ê¾ÒÀ» °æ¿ì 0À», ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì¿¡´Â -1À» ¸®ÅÏ ÇÑ´Ù.


1.4. ¿¡·¯

EBADF

epfd°¡ À¯¿äÇÑ ÆÄÀÏ ÁöÁ¤ÀÚ°¡ ¾Æ´Ï´Ù.

EBADF

epfd°¡ À¯¿äÇÑ ÆÄÀÏ ÁöÁ¤ÀÚ°¡ ¾Æ´Ï´Ù.

EFAULT

À߸øµÈ ¸Þ¸ð¸® ¿µ¿ªÀ» °¡¸®Å°°í ÀÖ´Ù.


1.5. ¿¹Á¦

epoll ¿¬±¸ À§Å° ÀÇ ¿¹Á¦¸¦ Âü°íÇϱ⠹ٶõ´Ù.


1.6. Âü°í¹®Çå

  1. epoll ¿¬±¸ À§Å°

  2. epoll_ctl(2)

  3. epoll_create(2)

  4. close(2)

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.