diff options
author | Machiavelli <machiavelli.trinity@gmail.com> | 2011-01-16 13:33:47 +0100 |
---|---|---|
committer | Machiavelli <machiavelli.trinity@gmail.com> | 2011-01-16 13:33:47 +0100 |
commit | 7f3375b8f9083069a170be9cb386e0a54e954c76 (patch) | |
tree | da270493a0293fcf8489cc7e72bc6a2e1ee2098a /src | |
parent | deed0d07815b5f0f9b8d5005cb9015ef372af59b (diff) |
Core/DBLayer: Fix another possible crash on shutdown. This should be the last of them caused by this area of the core.
Diffstat (limited to 'src')
-rw-r--r-- | src/server/shared/Database/DatabaseWorker.cpp | 1 | ||||
-rwxr-xr-x | src/server/shared/Database/DatabaseWorkerPool.h | 5 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/server/shared/Database/DatabaseWorker.cpp b/src/server/shared/Database/DatabaseWorker.cpp index 248e3c20d12..209ca35abae 100644 --- a/src/server/shared/Database/DatabaseWorker.cpp +++ b/src/server/shared/Database/DatabaseWorker.cpp @@ -47,6 +47,5 @@ int DatabaseWorker::svc() delete request; } - m_conn->Close(); return 0; } diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h index 27a5c051ccb..9f0e51b429b 100755 --- a/src/server/shared/Database/DatabaseWorkerPool.h +++ b/src/server/shared/Database/DatabaseWorkerPool.h @@ -109,9 +109,9 @@ class DatabaseWorkerPool /// Now we just wait until m_queue gives the signal to the worker threads to stop T* t = m_connections[IDX_ASYNC][i]; DatabaseWorker* worker = t->m_worker; - worker->wait(); // t->Close(); is called from worker thread + worker->wait(); delete worker; - --m_connectionCount[IDX_ASYNC]; + t->Close(); } sLog->outSQLDriver("Asynchronous connections on databasepool '%s' terminated. Proceeding with synchronous connections.", m_connectionInfo.database.c_str()); @@ -123,7 +123,6 @@ class DatabaseWorkerPool //while (1) // if (t->LockIfReady()) -- For some reason deadlocks us t->Close(); - --m_connectionCount[IDX_SYNCH]; } sLog->outSQLDriver("All connections on databasepool %s closed.", m_connectionInfo.database.c_str()); |