设置O_NONBLOCK
来源:互联网 发布:淘宝商品管理在哪 编辑:程序博客网 时间:2024/06/17 22:48
int
evutil_make_socket_nonblocking(evutil_socket_t fd)
{
#ifdef _WIN32
{
unsigned long nonblocking = 1;
if (ioctlsocket(fd, FIONBIO, &nonblocking) == SOCKET_ERROR) {
event_sock_warn(fd, "fcntl(%d, F_GETFL)", (int)fd);
return -1;
}
}
#else
{
int flags;
if ((flags = fcntl(fd, F_GETFL, NULL)) < 0) {
event_warn("fcntl(%d, F_GETFL)", fd);
return -1;
}
if (!(flags & O_NONBLOCK)) {
if (fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1) {
event_warn("fcntl(%d, F_SETFL)", fd);
return -1;
}
}
}
#endif
return 0;
}
evutil_make_socket_nonblocking(evutil_socket_t fd)
{
#ifdef _WIN32
{
unsigned long nonblocking = 1;
if (ioctlsocket(fd, FIONBIO, &nonblocking) == SOCKET_ERROR) {
event_sock_warn(fd, "fcntl(%d, F_GETFL)", (int)fd);
return -1;
}
}
#else
{
int flags;
if ((flags = fcntl(fd, F_GETFL, NULL)) < 0) {
event_warn("fcntl(%d, F_GETFL)", fd);
return -1;
}
if (!(flags & O_NONBLOCK)) {
if (fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1) {
event_warn("fcntl(%d, F_SETFL)", fd);
return -1;
}
}
}
#endif
return 0;
}
阅读全文
0 0
- 设置O_NONBLOCK
- fcntl中使用O_NONBLOCK设置pipe()产生的读端非阻塞草稿
- 非阻塞(O_NONBLOCK)
- O_NONBLOCK vs O_NDELAY
- IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(re
- IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(re
- IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(re
- IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(re
- IO模式设置网络编程常见问题总结—IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT(re
- O_NONBLOCK与O_NDELAY有何不同?
- O_NONBLOCK与O_NDELAY有何不同
- O_NONBLOCK与O_NDELAY有何不同
- O_NONBLOCK与O_NDELAY有何不同
- O_NONBLOCK与O_NDELAY有何不同
- O_NONBLOCK与O_NDELAY有何不同
- O_NONBLOCK与O_NDELAY有何不同
- 使用O_NONBLOCK方式打开设备文件
- O_NONBLOCK与O_NDELAY有何不同?
- 关于N进制数据计算SQL原生处理
- 距离变换
- FlashIDE+AirSDK,Window开发环境搭建
- Rxjava2操作符入门(一)
- Oracle 11g R2 安装
- 设置O_NONBLOCK
- Java语法小问题
- 《七点三刻》029期 余额宝日限购2万/C罗五夺金球奖/印无人机…
- LOJ6013「网络流 24 题
- 【Wannafly挑战赛1 】B Xorto 【思维+二分】
- Html之在事件委派中发送Ajax请求获取当前元素并删除
- hadoop2提交到Yarn: Mapreduce执行过程分析1
- hadoop2提交到Yarn: Mapreduce执行过程分析2
- Javascript中实现JSON数组多键值排序