Menu

#48 Problem with many simultaneous async_connect calls

open
nobody
None
5
2014-01-05
2009-11-06
Anonymous
No

In windows XP with NOD32 2.7 installed more than 64 simultaneous tcp::socket::async_connect calls lead to 100% CPU consuming, handlers are never get called. 64 calls work fine.
You use custom win_fd_set struct for select(...) calls, with win_fd_set_size = 1024. NOD32 installs LSP. Looks like its LSP cannot handle more than 64 sockets in select(...) call. But select(...) should return "-1" in case of problems.
May be problem is that in select_reactor::run(...) method there is no check for "-1" return value from select(...) function. If select(...) returns "-1" select_reactor::run(...) does nothing, but select_reactor::run(...) is repeatedly called in loop, and we have 100% CPU consuming.

Discussion


Log in to post a comment.

MongoDB Logo MongoDB