No thread - and especially initialization - must wait forever at semaphore.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5327 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
2acf2f37fa
commit
cf5a6c5815
|
@ -543,15 +543,13 @@ bool MyAcct::initDb()
|
||||||
Debug(&module,DebugNote,"Initiating pool of %d connections for '%s'",
|
Debug(&module,DebugNote,"Initiating pool of %d connections for '%s'",
|
||||||
m_poolSize,c_str());
|
m_poolSize,c_str());
|
||||||
|
|
||||||
m_queueSem.lock();
|
|
||||||
|
|
||||||
s_libMutex.lock();
|
s_libMutex.lock();
|
||||||
if (0 == s_libCounter++) {
|
if (0 == s_libCounter++) {
|
||||||
DDebug(&module,DebugAll,"Initializing the MySQL library");
|
DDebug(&module,DebugAll,"Initializing the MySQL library");
|
||||||
mysql_library_init(0,0,0);
|
mysql_library_init(0,0,0);
|
||||||
}
|
}
|
||||||
s_libMutex.unlock();
|
s_libMutex.unlock();
|
||||||
|
|
||||||
int initCons = initConns();
|
int initCons = initConns();
|
||||||
if (!initCons) {
|
if (!initCons) {
|
||||||
Debug(&module,DebugWarn,"Could not initiate any connections for account '%s', trying again in %d seconds",
|
Debug(&module,DebugWarn,"Could not initiate any connections for account '%s', trying again in %d seconds",
|
||||||
|
@ -744,7 +742,7 @@ void InitThread::run()
|
||||||
if (acc->shouldRetryInit() && acc->retryWhen() <= Time::msecNow()) {
|
if (acc->shouldRetryInit() && acc->retryWhen() <= Time::msecNow()) {
|
||||||
int count = acc->initConns();
|
int count = acc->initConns();
|
||||||
if (count < acc->poolSize())
|
if (count < acc->poolSize())
|
||||||
Debug(&module,(count ? DebugMild : DebugWarn),"Account '%s' has %d initialized connections out of "
|
Debug(&module,(count ? DebugMild : DebugWarn),"Account '%s' has %d initialized connections out of"
|
||||||
" a pool of %d",acc->c_str(),count,acc->poolSize());
|
" a pool of %d",acc->c_str(),count,acc->poolSize());
|
||||||
else
|
else
|
||||||
Debug(&module,DebugInfo,"All connections for account '%s' have been initialized, pool size is %d",
|
Debug(&module,DebugInfo,"All connections for account '%s' have been initialized, pool size is %d",
|
||||||
|
|
Loading…
Reference in New Issue