Merge commit 'origin/master' into 320

This commit is contained in:
tomrus88 2009-08-07 23:48:00 +04:00
commit d24461e300
18 changed files with 121 additions and 74 deletions

View file

@ -39,7 +39,7 @@ class MANGOS_DLL_SPEC Database
TransactionQueues m_tranQueues; ///< Transaction queues from diff. threads
QueryQueues m_queryQueues; ///< Query queues from diff threads
SqlDelayThread* m_threadBody; ///< Pointer to delay sql executer
SqlDelayThread* m_threadBody; ///< Pointer to delay sql executer (owned by m_delayThread)
ACE_Based::Thread* m_delayThread; ///< Pointer to executer thread
public:

View file

@ -424,8 +424,8 @@ void DatabaseMysql::InitDelayThread()
assert(!m_delayThread);
//New delay thread for delay execute
m_threadBody = new MySQLDelayThread(this);
m_delayThread = new ACE_Based::Thread(*m_threadBody);
m_threadBody = new MySQLDelayThread(this); // will deleted at m_delayThread delete
m_delayThread = new ACE_Based::Thread(m_threadBody);
}
void DatabaseMysql::HaltDelayThread()

View file

@ -364,8 +364,8 @@ void DatabasePostgre::InitDelayThread()
assert(!m_delayThread);
//New delay thread for delay execute
m_threadBody = new PGSQLDelayThread(this);
m_delayThread = new ACE_Based::Thread(*m_threadBody);
m_threadBody = new PGSQLDelayThread(this); // Will be deleted on m_delayThread delete
m_delayThread = new ACE_Based::Thread(m_threadBody);
}
void DatabasePostgre::HaltDelayThread()

View file

@ -101,7 +101,7 @@ Thread::Thread() : m_task(0), m_iThreadId(0), m_hThreadHandle(0)
}
Thread::Thread(Runnable& instance) : m_task(&instance), m_iThreadId(0), m_hThreadHandle(0)
Thread::Thread(Runnable* instance) : m_task(instance), m_iThreadId(0), m_hThreadHandle(0)
{
bool _start = start();
ASSERT (_start);
@ -110,6 +110,9 @@ Thread::Thread(Runnable& instance) : m_task(&instance), m_iThreadId(0), m_hThrea
Thread::~Thread()
{
//Wait();
// deleted runnable object (owned by Thread)
delete m_task;
}
//initialize Thread's class static member

View file

@ -61,7 +61,7 @@ namespace ACE_Based
{
public:
Thread();
Thread(Runnable& instance);
explicit Thread(Runnable* instance);
~Thread();
bool start();

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8315"
#define REVISION_NR "8326"
#endif // __REVISION_NR_H__