1
我遇到了一个问题,其中FD_SET
正在崩溃我的程序。我正在运行提升Boost ASIO sample HTTP Server的示例代码。在请求处理程序中,我把第三方的API最终做出以下电话:FD_SET导致seg故障
fd_set fds;
FD_ZERO(&fds);
FD_SET(sockfd, &fds);
我的程序似乎是在FD_SET
崩溃。是否有从不同线程调用FD_SET
会导致段错误的情况?我不确定FD_SET
是如何工作的,我的直觉就是我在已经使用的fd上打电话FD_SET
。这会导致问题吗?
sockfd
是一个类成员,它在每次请求进入时创建,所以我不应该在线程之间共享一个sockfd
变量。
你是什么意思“似乎”?你不能使用调试器来确认吗? – 2013-12-16 18:41:30
你是否检查过'sockfd'是肯定的,并且少于'FD_SETSIZE'? –
它不会每一次都崩溃,只有当我的服务器运行在1000请求/秒左右时才会崩溃。我所拥有的只是一个回溯,这并没有给我准确的界限。当我注释掉代码+代码后,程序将运行正常。一旦那条线在那里,程序崩溃。 – Eumcoz