linux 2.6 kernel epoll
http://hi.baidu.com/j_fo/blog/item/a43fa60fa6e2f4eaab6457d5.html
Linux2.6ÄÚºËepoll½éÉÜ
2008-11-05 16:35
http://blog.csdn.net/rstevens/archive/2007/10/30/1858067.aspx
http://hi.baidu.com/jmlover/blog/item/24c28b131e6b48d7f7039ee6.html
http://hi.baidu.com/jmlover/blog/item/e64df724f12926348744f91b.html
Ãû´Ê½âÊÍ£ºman epollÖ®ºó£¬µÃµ½ÈçϽá¹û£º
NAME
epoll - I/O event notification facility
SYNOPSIS
#include <sys/epoll.h>
DEscrīptION
epoll is a variant of poll(2) that can be used either as Edge or Level
Triggered interface and scales well to large numbers of watched fds.
Three system calls are provided to set up and control an epoll set:
epoll_create(2), epoll_ctl(2), epoll_wait(2).
An epoll set is connected to a file descrīptor created by
epoll_create(2). Interest for certain file descrīptors is then
registered via
epoll_ctl(2). Finally, the actual wait is started by epoll_wait(2).
Æäʵ£¬Ò»ÇеĽâÊͶ¼ÊǶàÓàµÄ£¬°´ÕÕÎÒĿǰµÄÁ˽⣬EPOLLÄ£ÐÍËÆºõÖ»ÓÐÒ»ÖÖ¸ñʽ£¬ËùÒÔ´ó¼ÒÖ»Òª²Î¿¼ÎÒÏÂÃæµÄ´úÂ룬¾ÍÄܹ»¶ÔEPOLLÓÐËùÁ˽âÁË£¬´úÂëµÄ½âÊͶ¼ÒѾÔÚ×¢ÊÍÖУº
while (TRUE)
{
int nfds = epoll_wait (m_epoll_fd, m_events, MAX_EVENTS, EPOLL_TIME_OUT);//µÈ´ýEPOLLʼþµÄ·¢Éú£¬Ï൱ÓÚ¼àÌý£¬ÖÁÓÚÏà¹ØµÄ¶Ë¿Ú£¬ÐèÒªÔÚ³õʼ»¯EPOLLµÄʱºò°ó¶¨¡£
if (nfds <= 0)
continue;
m_bOnTimeChecking = FALSE;
G_CurTime = time(NULL);
for (int i=0; i<nfds; i++)
{
try
{
if (m_events[i].data.fd == m_listen_http_fd)//Èç¹ûмà²âµ½Ò»¸öHTTPÓû§Á¬½Óµ½°ó¶¨µÄHTTP¶Ë¿Ú£¬½¨Á¢ÐµÄÁ¬½Ó¡£ÓÉÓÚÎÒÃÇвÉÓÃÁËSOCKETÁ¬½Ó£¬ËùÒÔ»ù±¾Ã»Óá£
{
OnAcceptHttpEpoll ();
}
else if (m_events[i].data.fd == m_listen_sock_fd)//Èç¹ûмà²âµ½Ò»¸öSOCKETÓû§Á¬½Óµ½Á˰󶨵ÄSOCKET¶Ë¿Ú£¬½¨Á¢ÐµÄÁ¬½Ó¡£
{
OnAcceptSockEpoll ();
}
else if (m_events[i].events & EPOLLIN)//Èç¹ûÊÇÒѾÁ¬½ÓµÄÓû§£¬²¢ÇÒÊÕµ½Êý¾Ý£¬ÄÇô½øÐжÁÈë¡£
{
OnReadEpoll (i);
}
OnWriteEpoll (i);//²é¿´µ±Ç°µÄ»î¶¯Á¬½ÓÊÇ·ñÓÐÐèҪд³öµÄÊý¾Ý¡£
}
catch (int)
{
PRINTF ("CATCH²¶»ñ´íÎó\n");
Ïà¹ØÎĵµ£º
ÔÚlinuxÏÂopengl±à³Ì£¬Ê×ÏÈÐèÒª°²×°glut°ü¡£
1 °²×°glut
£¨1£©ÏÂÔØµØÖ·£º
http://fidelio.cacs.louisiana.edu/resources/linux/glut.zip
£¨2£©½«glut.zip½âѹ£º
unzip glut.zip
½âѹºó£¬ÀïÃæÓÐÒ»¸örpm°²×°°ü£¬Ò»¸ö²âÊÔÎļþ£¬Ò»¸öglut.h,Ò»¸ömakefile, Õ⼸¸öÎļþ¶¼·Ç³£ÖØÒª¡£
£¨3£©°²×°£º
rpm -i glut-3.7-8.i386. ......
ʹÓùý³ÌÖеÄÐĵãº
Ò»¡¢½â³ýĿ¼ӳÉä¹ØÏµ
umount Ŀ¼¿ÉÒÔ½â³ý¹ØÁª¹ØÏµ
±ØÐëÏÈÔÚ¿Í»§¶Ëumount£¬È»ºóÔÚ·þÎñÆ÷¶ËÍ£Ö¹nfs·þÎñ£¬ÒÔ¼°ÐÞ¸Ä/etc/exports£¬·ñÔòµÄ»°»áµ¼ÖÂdf -hÎÞ·¨¹Ø±Õ
¶þ¡¢mount.nfs: Input/output error
½â¾ö:ÔÚ¿Í»§¶ËÒ²ÐèÆô¶¯portmap
Èý¡¢ÐÞ¸ÄÍê±Ï/etc/exportsÎļþÖ®ºó£¬¿ÉÒÔÖØÆônfs·þÎñ£¬Ò²¿ÉÒÔʹÓÃexp ......
Ò»ÄêÒ»¶ÈµÄLinux¿ª·¢Õß´ó»áÉÏÖÜÔھɽðɽ¾ÙÐУ¬»áÉÏLinux»ù½ð»áÖ´ÐÐÀíÊÂJim Zemlin±íʾ£¬µÃÒæÓÚÔÆ¼ÆËãÒÔ¼°ÆäËü¿Æ¼¼³±Á÷µÄ³öÏÖ£¬LinuxµÄÊг¡µØÎ»Ê®·ÖÎȹ̣¬È»¶øÒ»Ð©Ö÷ÒªµÄά»¤ÈËÔ±ÒѾÈÕ½¥²ÔÀÏ£¬ºó¼ÌÕßÈ´»¹Ã»ÓгÉÊì¡£
sysfsÄÚºË×Óϵͳά»¤ÕßGrey Kroah-HartmanÖ¸³ö£º“ÉϲãµÄÈËÔ±ÈÔȻà ......
ip ÊǸöÃüÁ ip ÃüÁîµÄ¹¦Äܺܶ࣡»ù±¾ÉÏËüÕûºÏÁË ifconfig Óë route ÕâÁ½¸öÃüÁ²»¹ýip µÄ¹¦ÄܸüÇ¿´ó£¡ Èç¹ûÄúÓÐÐËȤµÄ»°£¬Çë×ÔÐÐ vi /sbin/ifup ¾ÍÖªµÀÕû¸ö ifup ¾ÍÊÇÀûÓà ip Õâ¸öÃüÁîÀ´ÊµÏֵġ£ÏÂÃæ½éÉÜÒ»ÏÂʹÓ÷½·¨
[root@linux ~]# ip [option] [¶¯×÷] [ÃüÁî]
²ÎÊý£º
option £ºÉ趨µÄ²ÎÊý£¬Ö÷ÒªÓУº
  ......
µÝ¹é²éÕÒÎļþÄÚÈÝ£º
grep -n -ri "slewing" ./
ÔÚµ±Ç°Ä¿Ïµݹé²éÕÒËùÓеÄÎļþ
-i, --ignore-case
Ignore case distinctions  ......