首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 2012 R2 closesocket()挂在监听套接字上

Windows 2012 R2 closesocket()挂在监听套接字上
EN

Stack Overflow用户
提问于 2018-07-16 10:35:51
回答 1查看 1.5K关注 0票数 8

我在生产服务器上有个奇怪的情况。

我们在C++上编写了网络应用程序,它通过使用IOCP编写的TCP来满足用户的请求。

两天前,我们对Windows2012 R2进行了更新(它安装了最新的安全更新)。上一次更新是6个月前)。在更新之后,当试图停止我们在日志中看到的服务时,服务器挂起以关闭侦听套接字

代码语言:javascript
复制
closesocket(session->listen_socket);

下一个是停止网络系统的架构:

  1. PostQueuedCompletionStatus(m_completion_port, 0, NULL, NULL); x工作线程数
  2. 等待所有工作线程完成他们的工作。
  3. CloseHandle(m_completion_port);
  4. closesocket(session->accept_socket); closesocket(session->listen_socket);

这在过去4年中运行良好,但在Windows2012 R2更新之后,服务器突然挂起,一直挂起closesocket(session->listen_socket);

我曾经尝试过一种解决方案,用0超时设置留宿选项,以避免关闭,但这没有帮助。

所有的想法,如何解决这个或作出任何额外的诊断?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-16 15:03:53

这个问题是由Microsoft KB4338815的补丁带来的,它使密闭tо永远挂在Intel Xeon处理器上,这也是FileZilla人员在这个线程https://forum.filezilla-project.org/viewtopic.php?t=49308中发布的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51359861

复制
相关文章

相似问题

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