POLL

Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1997³â 11¿ù 7ÀÏ
Index HOME
 

À̸§

poll - ÆÄÀÏ ±â¼úÀÚ¿¡¼­ ¾î¶°ÇÑ À̺¥Æ®¸¦ ±â´Ù¸°´Ù.  

»ç¿ë¹ý

#include <sys/poll.h>

int poll(struct pollfd *ufds, unsigned int nfds, int timeout);  

¼³¸í

poll Àº selectÀÇ ÁÖÁ¦¿¡¼­ º¯ÇüÀÌ´Ù. ´ÙÀ½Àº nfds ±¸Á¶Ã¼ ŸÀÔÀÇ ¹è¿­°ú
        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    /* Hung up */
    #define POLLNVAL    0x0020    /* ¹«È¿ÇÑ ¿ä±¸: fd°¡ ¿­·ÁÁöÁö ¾Ê¾Ò´Ù */
<asm/poll.h> ¿¡´Â ¶ÇÇÑ POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND °ªµé°ú POLLMSG °¡ Á¤ÀǵǾî ÀÖ´Ù.  

¹Ýȯ°ª

¼º°ø½Ã, ¾ç¼ö °ªÀÌ ¹ÝȯµÇ¸ç ¹ÝȯµÈ ¼ýÀÚ´Â revents Çʵ尡 °¡Áö°í ÀÖ´Â ±¸Á¶Ã¼ÀÇ ¼ýÀÚÀÌ´Ù(´Ù½Ã ¸»Çؼ­, º¸°íµÈ À̺¥Æ®µéÀ̳ª ¿¡·¯µéÀ» °¡Áö°í ÀÖ´Â ÀÌµé ÆÄÀÏ ±â¼úÀÚ). 0 Àº È£ÃâÀÌ Å¸ÀÓ ¾Æ¿ôÀÌ °É·È°í ¾î¶² ÆÄÀÏ ±â¼úÀÚµµ ¼±ÅõÇÁö ¾Ê¾ÒÀ½À» °¡¸®Å²´Ù. ¿¡·¯À̸é -1ÀÌ ¸®ÅϵǸç errno ´Â Àû´çÇÑ °ªÀ¸·Î ¼³Á¤µÈ´Ù.  

¿¡·¯

ENOMEM
ÆÄÀÏ ±â¼úÀÚ Å×À̺íÀ» ÇÒ´çÇÒ °ø°£ÀÌ ¾ø´Ù.
EFAULT
ÀÎÀÚ·Î ÁÖ¾îÁø ¹è¿­ÀÌ È£Ãâ ÇÁ·Î±×·¥ÀÇ ÁÖ¼Ò °ø°£¿¡ Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù.
EINTR
¿ä±¸µÈ À̺¥Æ® Àü¿¡ ½ÅÈ£°¡ ¹ß»ýÇß´Ù.
 

ȣȯ

XPG4-UNIX.  

AVAILABILITY

poll() ½Ã½ºÅÛ ÄÝÀº Linux 2.1.23¿¡ ¼Ò°³µÇ¾ú´Ù. poll() ¶óÀ̺귯¸® ÇÔ¼ö´Â libc 5.4.28 ¿¡ ¼Ò°³ µÇ¾ú´Ù. (±×¸®°í ¿©·¯ºÐÀÇ Ä¿³ÎÀÌ poll ½Ã½ºÅÛ ÄÝÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù¸é select ¸¦ »ç¿ëÇÑ ¿¡¹Ä·¹À̼ÇÀ» Á¦°øÇÑ´Ù.)  

°ü·Ã Ç׸ñ

select(2)  

¿ªÀÚ

Á¤°­ÈÆ <skyeyes@soback.kornet.net>, 2000³â 8¿ù 6ÀÏ


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
¹Ýȯ°ª
¿¡·¯
ȣȯ
AVAILABILITY
°ü·Ã Ç׸ñ
¿ªÀÚ