TEMP_FAILURE_RETRY
来源:互联网 发布:适用于gal16v8d编程器 编辑:程序博客网 时间:2024/06/03 15:49
TEMP_FAILURE_RETRY 宏定义如下:
<pre name="code" class="cpp">#define TEMP_FAILURE_RETRY(expression) \ (__extension__\ ({ long int __result;\ do __result = (long int)(expression);\ while(__result == -1L&& errno == EINTR);\ __result;})\#endif用于忽略系统中断造成的错误。常用于系统调用。
使用例子如下:
int accept(struct sockaddr_in *addr) { socklen_t len = sizeof(struct sockaddr_in); bzero(addr, sizeof(struct sockaddr_in)); struct epoll_event ev; int rc = epoll_wait(kdpfd, &ev, 1, 2000);if(1 == rc && (ev.events & EPOLLIN)) return TEMP_FAILURE_RETRY(::accept(sock, (struct sockaddr*)addr, &len)); return -1; }
这里是接受连接时,忽略系统中断造成的错误。
0 0
- TEMP_FAILURE_RETRY
- TEMP_FAILURE_RETRY 宏
- TEMP_FAILURE_RETRY宏
- TEMP_FAILURE_RETRY,__extension,MSG_NOSIGNAL
- TEMP_FAILURE_RETRY宏的用法
- TEMP_FAILURE_RETRY,__extension,MSG_NOSIGNAL
- TEMP_FAILURE_RETRY宏的应用(很好用)
- android-ndk-r10e开启C++11,编译TEMP_FAILURE_RETRY错误
- 微信上流传的offer待遇档次
- 如何查看MAC操作系统的位数
- 一些环境配置文章的搜集
- struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系
- android id 错乱
- TEMP_FAILURE_RETRY
- 开源IM-免费企业即时通讯-恩布互联ENTBOOST 1.4发布,增加管理中心
- 购物狂欢:谷歌PK亚马逊
- unity3d游戏开发之如何快速接入渠道SDK
- TCP FAST
- Android App的签名打包
- Linux虚拟文件系统VFS解析
- [.Net码农].NET Framework 4.5 System.Data 命名空间
- 使用Java程序调用MatLab