int poll(struct pollfd *ufds, unsigned int nfds, int timeout);
struct pollfd { int fd; /* ÆÄÀÏ ±â¼úÀÚ */ short events; /* ¿ä±¸µÈ À̺¥Æ® */ short revents; /* ¹ÝȯµÈ À̺¥Æ® */ };
¹Ð¸®ÃÊÀÎ
timeout
À» ±â¼úÇÑ´Ù.
À½¼ö°ªÀº Á¦ÇѵÇÁö ¾ÊÀº ŸÀÓ ¾Æ¿ôÀ» ÀǹÌÇÑ´Ù.
fd
Çʵå´Â ¿·ÁÁø ÆÄÀÏ ±â¼úÀÚ¸¦ Æ÷ÇÔÇÑ´Ù.
events
Çʵå´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ±â´Ù¸®°í ÀÖ´Â À̺¥Æ®¸¦ ÁöÁ¤ÇÑ ºñÆ® ¸¶½ºÅ©µÈ ÀÔ·Â
ÆĶó¹ÌÅÍÀÌ´Ù.
revents
Çʵå´Â ¿ä±¸µÈ ŸÀÔÀÇ À̺¥Æ®À̰ųª
POLLERR
¶Ç´Â
POLLHUP
¶Ç´Â
POLLNVALŸÀÔÀÇ
À̺¥Æ® Áß Çϳª°¡ ½ÇÁ¦·Î ÀϾÀ» ¶§ À̺¥Æ®¸¦ °¡Áø Ä¿³Î¿¡ ÀÇÇØ Ã¤¿öÁø Ãâ·Â
ÆĶó¹ÌÅÍÀÌ´Ù. (ÀÌ ¼¼°³ÀÇ ºñÆ®µéÀº
events
Çʵ忡¼´Â Àǹ̰¡ ¾øÀ¸¸ç »óÀÀÇÏ´Â Á¶°ÇÀÌ ÂüÀÏ ¶§¸¸
revents
Çʵ忡 ¼³Á¤µÈ´Ù.)
¿ä±¸µÈ À̺¥Æ® Áß ¾î¶² °Íµµ ÆÄÀÏ ±â¼úÀÚ Áß¿¡¼ ÀϾÁö ¾Ê´Â´Ù¸é, Ä¿³ÎÀº
ÀÌ À̺¥Æ®µé Áß Çϳª°¡ ÀϾ±â¸¦
timeout
¹Ð¸®Ãʵ¿¾È ±â´Ù¸°´Ù.
ÀÌµé ºñÆ®¸¶½ºÅ© Áß¿¡¼ ´ÙÀ½ °¡´ÉÇÑ ºñÆ®µéÀÌ <sys/poll.h>¿¡ Á¤ÀǵǾî ÀÖ´Ù.
#define POLLIN 0x0001 /* ÀÐÀ» µ¥ÀÌÅÍ°¡ ÀÖ´Ù */ #define POLLPRI 0x0002 /* ÀÐÀ» ±ä±ÞÇÑ µ¥ÀÌÅÍ°¡ ÀÖ´Ù */ #define POLLOUT 0x0004 /* ¾²±â°¡ Áö±Ý ºÀ¼â°¡ ¾Æ´Ï´Ù */ #define POLLERR 0x0008 /* ¿¡·¯ Á¶°Ç */ #define POLLHUP 0x0010 /* ½ÇÇàÁßÁö ¶Ç´Â Àç½ÃÀÛ */ #define POLLNVAL 0x0020 /* ¹«È¿ÇÑ ¿ä±¸: fd°¡ ¿·ÁÁöÁö ¾Ê¾Ò´Ù */
<asm/poll.h> ¿¡´Â ¶ÇÇÑ POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND °ªµé°ú POLLMSG °¡ Á¤ÀǵǾî ÀÖ´Ù.