1) expectedConnections in ConnectionManager need to be in critical sections else it can crashes
working patch here: http://www.home.karneval.cz/01027053/pa ... nMan.patch
2) why aren't there throw(Exception) statements in BZUtils.cpp/ZUtils.cpp in functions that can throw exception ?
3) it crashes when connecting to hub when DCPlusPlus.xml doesn't exist
4) there are still some possible deadlocks in ConnectionManager
between ConnectionManager's Locks and UserConnectionListener's Speaker Locks
ConnectionManager.cpp
Code: Select all
line #245 cqi->getConnection()->removeListener(this);
vs
line #712 Lock l(cs);
string ShareManager::Directory::getFullName() const throw() {
here >>> if(parent == NULL)
EDIT: it's due to filelist caching. After manual refresh (or removing loadCache() from source), it stops crashing.