我在生产服务器上有个奇怪的情况。
我们在C++上编写了网络应用程序,它通过使用IOCP编写的TCP来满足用户的请求。
两天前,我们对Windows2012 R2进行了更新(它安装了最新的安全更新)。上一次更新是6个月前)。在更新之后,当试图停止我们在日志中看到的服务时,服务器挂起以关闭侦听套接字。
closesocket(session->listen_socket);下一个是停止网络系统的架构:
PostQueuedCompletionStatus(m_completion_port, 0, NULL, NULL); x工作线程数CloseHandle(m_completion_port);closesocket(session->accept_socket);
closesocket(session->listen_socket);这在过去4年中运行良好,但在Windows2012 R2更新之后,服务器突然挂起,一直挂起closesocket(session->listen_socket);
我曾经尝试过一种解决方案,用0超时设置留宿选项,以避免关闭,但这没有帮助。
所有的想法,如何解决这个或作出任何额外的诊断?
发布于 2018-07-16 15:03:53
这个问题是由Microsoft KB4338815的补丁带来的,它使密闭tо永远挂在Intel Xeon处理器上,这也是FileZilla人员在这个线程https://forum.filezilla-project.org/viewtopic.php?t=49308中发布的。
https://stackoverflow.com/questions/51359861
复制相似问题