用命令F_GETFL和F_SETFL设置文件标志,比如阻塞与非阻塞 F_SETFL 设置给arg描述符状态标志,可以更改的几个标志是:O_APPEND, O_NONBLOCK,O_SYNC和O_ASYNC。 命令字(cmd)F_GETFL和F_SETFL的标志如下面的描述: O_NONBLOCK 非阻塞I/O;如果read(2)调用没有可读取的数据,或者如果write(2)操作将阻塞,read或write...
1/*1方法:.通过fcntl函数设置fd的属性,使其成为非阻塞IO2**/3#ifndef __HEAD_H__4#define__HEAD_H__56#include <stdio.h>7#include <stdlib.h>8#include <string.h>9#include <unistd.h>10#include <sys/socket.h>11#include <sys/types.h>12#include <unistd.h>13#include <fcntl.h>14#inclu...
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)...
用命令F_GETFL和F_SETFL设置文件标志,比如阻塞与非阻塞 F_SETFL 设置给arg描述符状态标志,可以更改的几个标志是:O_APPEND, O_NONBLOCK,O_SYNC和O_ASYNC。 命令字(cmd)F_GETFL和F_SETFL的标志如下面的描述: O_NONBLOCK 非阻塞I/O;如果read(2)调用没有可读取的数据,或者如果write(2)操作将阻塞,read或write...