Core/DBLayer:

- DB Threading model update
* Get rid of ThreadBundleMask and bundled connection
* Implement configurable amount of Synch threads for databasepools
* Use modulus based algorithm to check for free synchronous connections instead of previous ¨get connection by thread key or bundlemask¨ feature
* Locks on mysql context objects are now managed outside the mysql query methods

Fixes issue #4058
Fixes issue #4059
Introduces a ton of more issues. Use at own risk. You were warned. Really.

Don´t forget to update your worldserver.conf

--HG--
branch : trunk
This commit is contained in:
Machiavelli
2010-09-27 00:20:56 +02:00
parent 894b2081b3
commit a9e9a2c884
11 changed files with 172 additions and 241 deletions
-17
View File
@@ -158,16 +158,6 @@ class ReactorRunnable : protected ACE_Task_Base
{
sLog.outStaticDebug ("Network Thread Starting");
bool needInit = true;
if (!(LoginDatabase.GetBundleMask() & MYSQL_BUNDLE_RAR))
{
LoginDatabase.Init_MySQL_Connection();
needInit = false;
}
if (needInit)
MySQL::Thread_Init();
ACE_ASSERT (m_Reactor);
SocketSet::iterator i, t;
@@ -203,13 +193,6 @@ class ReactorRunnable : protected ACE_Task_Base
}
}
///- Free MySQL thread resources and deallocate lingering connections
if (!(LoginDatabase.GetBundleMask() & MYSQL_BUNDLE_RAR))
LoginDatabase.End_MySQL_Connection();
if (needInit)
MySQL::Thread_End();
sLog.outStaticDebug ("Network Thread Exitting");
return 0;