try
{
pRecordset = new CRecordset(this);
// Do SMTH
}
catch (CDBException* pDBE)
{
m_MainCS.Unlock();
// Do SMTH
}
catch (CMemoryException* pME)
{
m_MainCS.Unlock();
// Do SMTH
}
catch(CException* pE)
{
m_MainCS.Unlock();
// Do SMTH
}
catch(...)
{
m_MainCS.Unlock();
// Do SMTH
}
m_MainCS.Unlock();
}
При многопоточной работе через некоторое время в строке "pRecordset = new CRecordset(this);"
кидается исключение, которое ловится в секции "catch(...)"
После этого первый поток, который входит в критическую секцию m_MainCS
виснет в строке "pRecordset = new CRecordset(this);". Соответственно всё лочится.
Проявляется всё это исключительно в релизной версии.
Работать может всё это от 3х часов до нескольких суток..
Все таймауты на коннект и выполнение операций стоят по умолчанию 15 секунд.
Может быть кто-нибудь сталкивался с чем-то подобным?
И как можно определить тип исключения, которое можно поймать в "catch(...)"?