-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 2.1.1
-
Component/s: Concurrency
-
None
-
ALL
ClientCursor::idleTimeReport checks for timeouts in two loops. The timing information is only provided in the first loop, and because the first loop is short circuited the timing information may not be provided to all cursors.
for ( CCById::iterator i = clientCursorsById.begin(); i != clientCursorsById.end(); ) {
CCById::iterator j = i;
i++;
if( j->second->shouldTimeout( millis ) )
}
...
for ( CCById::iterator i = clientCursorsById.begin(); i != clientCursorsById.end(); ) {
CCById::iterator j = i;
i++;
if( j->second->shouldTimeout(0) )
}