一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Linux中的EAGAIN含義

 lycbje 2013-12-18
在Linux環(huán)境下開發(fā)經(jīng)常會(huì)碰到很多錯(cuò)誤(設(shè)置errno),其中EAGAIN是其中比較常見的一個(gè)錯(cuò)誤(比如用在非阻塞操作中)。
    從字面上來看,是提示再試一次。這個(gè)錯(cuò)誤經(jīng)常出現(xiàn)在當(dāng)應(yīng)用程序進(jìn)行一些非阻塞(non-blocking)操作(對(duì)文件或socket)的時(shí)候。例如,以 O_NONBLOCK的標(biāo)志打開文件/socket/FIFO,如果你連續(xù)做read操作而沒有數(shù)據(jù)可讀。此時(shí)程序不會(huì)阻塞起來等待數(shù)據(jù)準(zhǔn)備就緒返回,read函數(shù)會(huì)返回一個(gè)錯(cuò)誤EAGAIN,提示你的應(yīng)用程序現(xiàn)在沒有數(shù)據(jù)可讀請(qǐng)稍后再試。
    又例如,當(dāng)一個(gè)系統(tǒng)調(diào)用(比如fork)因?yàn)闆]有足夠的資源(比如虛擬內(nèi)存)而執(zhí)行失敗,返回EAGAIN提示其再調(diào)用一次(也許下次就能成功)。
Linux - 非阻塞socket編程處理EAGAIN錯(cuò)誤
 在linux進(jìn)行非阻塞的socket接收數(shù)據(jù)時(shí)經(jīng)常出現(xiàn)Resource temporarily unavailable,errno代碼為11(EAGAIN),這是什么意思?
 這表明你在非阻塞模式下調(diào)用了阻塞操作,在該操作沒有完成就返回這個(gè)錯(cuò)誤,這個(gè)錯(cuò)誤不會(huì)破壞socket的同步,不用管它,下次循環(huán)接著recv就可以。對(duì)非阻塞socket而言,EAGAIN不是一種錯(cuò)誤。在VxWorks和Windows上,EAGAIN的名字叫做EWOULDBLOCK。
 另外,如果出現(xiàn)EINTR即errno為4,錯(cuò)誤描述Interrupted system call,操作也應(yīng)該繼續(xù)。
 最后,如果recv的返回值為0,那表明連接已經(jīng)斷開,我們的接收操作也應(yīng)該結(jié)束。
  iReadSizeOnce=read(iOpenCom,RxBuf+iReadSize,1024);
    if (iReadSizeOnce != ZERO)
    {
        if (iReadSizeOnce != EAGAIN)
        {
            continue;
        }
        else
        {
            //stCComApiLog.LogError("讀串口操作錯(cuò)誤");
            return(FUN_ERROR);
        }
    }

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日韩欧美好看的剧情片免费| 亚洲香艳网久久五月婷婷| 欧美成人高清在线播放| 日韩人妻有码一区二区| 日本午夜精品视频在线观看| 91在线爽的少妇嗷嗷叫| 亚洲男人的天堂就去爱| 欧美精品专区一区二区| 日韩成人中文字幕在线一区 | 美国欧洲日本韩国二本道| 日韩中文高清在线专区| 日本视频在线观看不卡| 国产精品亚洲综合天堂夜夜| 日韩精品免费一区三区| 欧美一级日韩中文字幕| 一区二区三区日韩经典| 亚洲熟妇中文字幕五十路| 色播五月激情五月婷婷| 亚洲国产成人av毛片国产 | 日本熟女中文字幕一区| 台湾综合熟女一区二区| 欧美尤物在线观看西比尔| 亚洲清纯一区二区三区| 熟女免费视频一区二区| 99国产一区在线播放| 欧美日韩精品一区二区三区不卡| 国产精品视频一区二区秋霞 | 久久国产精品亚州精品毛片| 中日韩美女黄色一级片| 高中女厕偷拍一区二区三区 | 在线观看视频国产你懂的| 色哟哟精品一区二区三区| 亚洲午夜福利不卡片在线| 伊人欧美一区二区三区| 久久综合九色综合欧美| 亚洲欧美日韩在线中文字幕| 久久人人爽人人爽大片av| 久久偷拍视频免费观看| 亚洲香艳网久久五月婷婷| 视频一区日韩经典中文字幕| 中文字幕一区二区三区大片|