epollÀ» Á¦¾îÇϱâ À§ÇÑ ÀÎÅÍÆäÀ̽º
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

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

1장. epoll_ctl(2)

epoll ÆÄÀÏÁöÁ¤ÀÚ¸¦ Á¦¾îÇÑ´Ù.


1.1. »ç¿ë¹ý

#include <sys/epoll.h>

int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)
		


1.2. ¼³¸í

ÀÌ ÇÔ¼ö´Â epoll ÆÄÀÏÁöÁ¤ÀÚÀÎ epfd¸¦ Á¦¾îÇÑ´Ù. Á¦¾î´Â Á¦¾îÇϰíÀÚ ÇÏ´Â ÆÄÀÏÁöÁ¤ÀÚfd¿¡ ´ëÇØ¼­ op¸¦ ÀÌ¿ëÇØ¼­ ¸í·ÉÀ» ³»¸®´Â °ÍÀ¸·Î ÀÌ·ç¾î Áø´Ù. ¶ÇÇÑ event±¸Á¶Ã¼ÀÇ »ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÔÀ¸·Î ½á ³ªÁß¿¡ À̺¥Æ®°¡ ¹ß»ýÇßÀ»¶§ À̺¥Æ®¿¡ ´ëÇÑ Á¤º¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº Á¤ÀÇµÈ 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;  /* À¯Àú ¼³Á¤ °ª */
};
		

events¸â¹öº¯¼ö¸¦ ÀÌ¿ëÇØ¼­ ÆÄÀÏÁöÁ¤ÀÚ fd°¡ ¾î¶² À̺¥Æ®¿¡ ¹ÝÀÀÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°Àº À̺¥Æ® Á¾·ùµéÀÌ ÀÖ´Ù.


1.3. ¹Ýȯ°ª

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

EPOLLIN

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


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À» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.