#include#include#include#include#include#include#defineERR_EXIT(m)\do{\perror(m);\exit(EXIT_FAILURE);\}while(0)voidactivate_nonblock(intfd);voiddeact" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

用fcntl()設(shè)置堵塞函數(shù)的堵塞性質(zhì)

系統(tǒng) 2202 0
      #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

#define ERR_EXIT(m) \
    do { \
        perror(m);\
        exit(EXIT_FAILURE);\
    }while(0)

void activate_nonblock(int fd);
void deactivate_nonblock(int fd);

int main(int argc, const char *argv[])
{
    activate_nonblock(STDIN_FILENO);
    char buffer[1024] = {0};
    int ret = read(STDIN_FILENO, buffer, 1024);
    if(ret == -1)
        printf("read");
    return 0;
}

void activate_nonblock(int fd)
{
    int ret;
    int flags = fcntl(fd, F_GETFL);
    if(flags == -1)
        ERR_EXIT("fcntl");
    flags |= O_NONBLOCK;
    ret = fcntl(fd, F_SETFL, flags);
    if(ret == -1)
        ERR_EXIT("fcntl");
}

void deactivate_nonblock(int fd)
{
    int ret;
    int flags = fcntl(fd, F_GETFL);
    if(flags == -1)
        ERR_EXIT("fcntl");
    flags &=~O_NONBLOCK;
    ret = fcntl(fd, F_SETFL, flags);
    if(ret == -1)
        ERR_EXIT("fcntl");
}
    

用fcntl()設(shè)置堵塞函數(shù)的堵塞性質(zhì)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 巩留县| 河津市| 尤溪县| 博白县| 霍邱县| 拉萨市| 彩票| 买车| 六枝特区| 广河县| 霍城县| 邵阳市| 岳西县| 乌什县| 和田市| 望城县| 五台县| 建水县| 定远县| 万源市| 平顺县| 胶南市| 山阳县| 阜城县| 衡南县| 巩义市| 东乌| 大宁县| 孝义市| 麦盖提县| 密云县| 延吉市| 湖口县| 汕尾市| 遂溪县| 高唐县| 翁牛特旗| 宣汉县| 金山区| 突泉县| 龙山县|