c – 为什么在调用recv系统调用时调用sigprocmask?
发布时间:2020-05-23 04:27:42 所属栏目:Linux 来源:互联网
导读:我有一些代码定期调用recv()(使用MSG_DONTWAIT标志).我很好奇,因为在vtune中分析我的代码,我看到一个与recv()相关联的sigprocmask()调用,并且它占用了总时间的很大一部分来执行.我很好奇为什么recv()调用sigprocmask().最佳答案在linux下使用TCP套接字时,如果
|
我有一些代码定期调用recv()(使用MSG_DONTWAIT标志).我很好奇,因为在vtune中分析我的代码,我看到一个与recv()相关联的sigprocmask()调用,并且它占用了总时间的很大一部分来执行.我很好奇为什么recv()调用sigprocmask(). 最佳答案 在linux下使用TCP套接字时,如果另一端意外关闭,您将收到SIGPIPE. 因为你可以屏蔽这个信号(大多数时候,你自己会处理0的返回值,你不关心这个信号),我想系统库会检查信号状态,如果屏蔽了,请使用更快的代码路径. 如果没有,它无法优化. 顺便说一下,你知道pselect()对吗? (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – 使用iptables,匹配通过IPSEC隧道到达的数据包
- linux – 如何遍历Bash中的所有ASCII字符?
- Linux命令:文件查找相关 Whereis、find和locate+updatedb
- linux – 如何递归大小和上次修改时间的列表文件?
- 当我必须管理现有的Linux服务器时,检查它是否安全的最佳方法
- linux – Acknegative lookahead给出错误
- 从Java程序打开浏览器窗口
- Linux上的PHP:如何让PHP使用代理设置连接到互联网?
- linux – 我的服务器崩溃了.这是日志.什么可能发生?
- linux – 如何将cpio(gnu,rhel 4)提取到指定目录?
