linux下设置非阻塞IO

配置非阻塞模式
int flags=fcntl(fd,F_GETFL,0); 
flags |=O_NONBLOCK;

fcntl(fd,F_SETFL,flags);



配置为阻塞模式
int flags=fcntl(fd,F_GETFL,0); 
flags &=~O_NONBLOCK;

fcntl(fd,F_SETFL,flags);



对文件描述符的操作必须先使用int flags=fcntl(fd,F_GETFL,0)获取当前描述符的属性,然后在此基础上添加或者删除,否则会删除之前的属性(本来可能有多个属性)


你可能感兴趣的:(linux下设置非阻塞IO)