【发布时间】:2012-10-29 19:51:28
【问题描述】:
我有一些代码定期调用recv()(带有MSG_DONTWAIT 标志)。我很好奇,因为在 vtune 中分析我的代码时,我看到了一个与 recv() 关联的 sigprocmask() 调用,并且它占用了总时间的很大一部分来执行。我很好奇为什么recv() 打电话给sigprocmask()。
【问题讨论】:
-
我们能否看到重现此行为的最小可能代码的相关痕迹?我们也可以看到那个演示代码吗?准确地看到对信号掩码做了什么会很有启发性。
-
您能否详细说明这些对
recv()的调用的背景?你用的是什么类型的插座?你是直接打电话给recv()吗?