c C 为什么在调用recv系统调用时调用sigprocmask?
发布时间:2023-12-13 12:02:09 所属栏目:Linux 来源:DaWei
导读: 我有一些代码定期调用recv()(使用MSG_DONTWAIT标志).我很好奇,因为在vtune中分析我的代码,我看到一个与recv()相关联的sigprocmask()调用,并且它占用了总时间的很大一部分来执行.我很好奇为什
我有一些代码定期调用recv()(使用MSG_DONTWAIT标志).我很好奇,因为在vtune中分析我的代码,我看到一个与recv()相关联的sigprocmask()调用,并且它占用了总时间的很大一部分来执行.我很好奇为什么recv()调用sigprocmask(). 最佳答案 在linux下使用TCP套接字时,如果另一端意外关闭,您将收到SIGPIPE. 因为你可以屏蔽这个信号(大多数时候,你自己会处理0的返回值,你不关心这个信号),我想系统库会检查信号状态,如果屏蔽了,请使用更快的代码路径. 如果没有,它无法优化. 顺便说一下,你知道pselect()对吗? (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SELinux TargetedMLS和Minimum方案介绍
- 终端 – oh-my-zsh:git达到最大嵌套功能级别
- linux – 如何在没有运行dhcpd的情况下检查dhcpd.conf语法错
- 在Linux Mint中编译C程序时出错
- linux – 在Mac OS上设置jenkins slave
- Fast portable non-blocking network programming with Lib
- zsh – 如何在命令行中获取上一个命令的第n个参数?
- LINUX学习:RHEL 6.6下安装Ansible
- 解决两台centos虚拟机Telnet服务无法联机的问题
- c – 如何以编程方式获取linux中设备/分区的uuid?
推荐文章
站长推荐