• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Sheppard Y

            keep thinking keep coding.

            epoll的各個(gè)事件觸發(fā)條件測(cè)試

            2016-07-03 日更新 
            此篇博客已經(jīng)遷移到新博客,并做行文檢查和優(yōu)化排版:

            1、listen fd,有新連接請(qǐng)求,觸發(fā)EPOLLIN。
            2、對(duì)端發(fā)送普通數(shù)據(jù),觸發(fā)EPOLLIN。
            3、帶外數(shù)據(jù),只觸發(fā)EPOLLPRI。
            4、對(duì)端正常關(guān)閉(程序里close(),shell下kill或ctr+c),觸發(fā)EPOLLIN和EPOLLRDHUP,但是不觸發(fā)EPOLLERR和EPOLLHUP。
                關(guān)于這點(diǎn),以前一直以為會(huì)觸發(fā)EPOLLERR或者EPOLLHUP
                再man epoll_ctl看下后兩個(gè)事件的說(shuō)明,這兩個(gè)應(yīng)該是本端(server端)出錯(cuò)才觸發(fā)的。
            5、對(duì)端異常斷開(kāi)連接(只測(cè)了拔網(wǎng)線(xiàn)),沒(méi)觸發(fā)任何事件。




            附man:

            EPOLLIN
                          The associated file is available for read(2) operations.
            EPOLLOUT
                          The associated file is available for write(2) operations.
            EPOLLRDHUP
                          Stream  socket peer closed connection, or shut down writing half
                          of connection.  (This flag is especially useful for writing sim-
                          ple code to detect peer shutdown when using Edge Triggered moni-
                          toring.)
            EPOLLPRI
                          There is urgent data available for read(2) operations.
            EPOLLERR
                          Error condition happened  on  the  associated  file  descriptor.
                          epoll_wait(2)  will always wait for this event; it is not neces-
                          sary to set it in events.
            EPOLLHUP
                          Hang  up   happened   on   the   associated   file   descriptor.
                          epoll_wait(2)  will always wait for this event; it is not neces-
                          sary to set it in events.
            EPOLLET
                          Sets  the  Edge  Triggered  behavior  for  the  associated  file
                          descriptor.   The default behavior for epoll is Level Triggered.
                          See epoll(7) for more detailed information about Edge and  Level
                          Triggered event distribution architectures.
            EPOLLONESHOT (since Linux 2.6.2)
                          Sets  the  one-shot behavior for the associated file descriptor.
                          This means that after an event is pulled out with  epoll_wait(2)
                          the  associated  file  descriptor  is internally disabled and no
                          other events will be reported by the epoll interface.  The  user
                          must  call  epoll_ctl() with EPOLL_CTL_MOD to re-enable the file
                          descriptor with a new event mask.

            posted on 2009-03-12 17:17 Sheppard Y 閱讀(22850) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): c++

            <2009年3月>
            22232425262728
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(1)

            隨筆分類(lèi)(77)

            隨筆檔案(58)

            me

            基友

            同行

            業(yè)界前輩

            最新隨筆

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            99久久精品国产一区二区| 国内精品伊人久久久久777| 久久99精品国产麻豆宅宅| 国内精品久久久久久久涩爱| 久久精品无码午夜福利理论片 | 国产精品久久永久免费| 伊人久久综合成人网| 国产色综合久久无码有码| 久久精品人妻中文系列| 亚洲中文字幕无码一久久区| 精品久久久无码21p发布| 97精品依人久久久大香线蕉97| 久久久久久久久66精品片| 国内精品久久久久影院薰衣草| 亚洲国产精品无码久久| 久久99精品国产自在现线小黄鸭| 97精品国产97久久久久久免费| 久久久久亚洲av综合波多野结衣| 色天使久久综合网天天| 久久亚洲美女精品国产精品| 久久精品嫩草影院| 深夜久久AAAAA级毛片免费看| 精品久久久久久国产| 久久精品国产一区二区三区日韩| 国产精品久久久天天影视香蕉| 亚洲国产精品嫩草影院久久| 精产国品久久一二三产区区别| 国产综合久久久久久鬼色| 久久国产香蕉视频| 亚洲国产美女精品久久久久∴ | 久久综合给合久久狠狠狠97色| 久久精品国产亚洲av水果派 | 无码人妻精品一区二区三区久久久| 国产精品一区二区久久不卡| 久久久久亚洲av毛片大| 精品综合久久久久久98| 亚洲国产精品热久久| 欧美精品乱码99久久蜜桃| 狠狠色丁香婷综合久久| 久久福利资源国产精品999| 18岁日韩内射颜射午夜久久成人 |