首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在身体上没有指示

在身体上没有指示
EN

Stack Overflow用户
提问于 2014-03-31 21:25:20
回答 3查看 1.3K关注 0票数 0

我在学习C,我对时间有疑问。在一次练习中,我:

代码语言:javascript
运行
复制
while(1){
   while((sockacc = accept(ds_sock,&client,&length)) == -1);

   --other instructions--
}

有人能告诉我第二次的作用是什么吗?我知道接听电话是用来做什么的。我不明白,如果身体里没有任何东西,为什么要用一段时间。

EN

Stack Overflow用户

发布于 2014-03-31 21:40:31

accept()能够返回失败(-1)的原因之一是EINTR (中断的系统调用)。此代码中的内环如果返回错误EINTR或任何其他错误,就会重试accept(),因为它不测试内环体中errno的值。如果错误是EBADF (错误的文件描述符,指示套接字文件描述符不是套接字文件描述符,或者以某种方式被销毁),这可能是性能问题。通常,您会在循环的正文中看到一个测试,以确保错误是代码所期望的有限集合之一。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22772479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档