Thanks for pointing this out, I did make some changes here, but it’s way older than the current subject at hand.
It was back in 2021 with this message “ClearSessions should not lock the manager during its entire call.” and the following changes:
I reported it at the time as can be seen here.
Interestingly, I did not notice at the time that GetAllSessions
is filtering out the expired sessions, which, to me, is definitely counter intuitive.
I mean, I had a look at TRODBSessionManager.DoGetAllSessions
and it does not appear to be filtering anything out.
So even if the consequence of getting memory leaks is not there in the release code, there is, to me, still an inconsistency in calling a method to get all sessions and actually not getting them all.