aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-07-26 16:14:18 +0200
committerShauren <shauren.trinity@gmail.com>2014-07-26 16:14:18 +0200
commite1c400250c0ff701d9ed1244e9c49483fc6799c8 (patch)
treea6472c2392a081118aa7d1286c704b2534deba0d
parent6961f957c9d03bff634f0b75466458564845722e (diff)
Added comments to 6961f957c9d03bff634f0b75466458564845722e to make sure noone decides that storing the result in a variable is unneccessary
-rw-r--r--src/server/shared/Database/DatabaseWorkerPool.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h
index a43d4c9c683..18797b6b12a 100644
--- a/src/server/shared/Database/DatabaseWorkerPool.h
+++ b/src/server/shared/Database/DatabaseWorkerPool.h
@@ -297,9 +297,10 @@ class DatabaseWorkerPool
QueryResultFuture AsyncQuery(const char* sql)
{
BasicStatementTask* task = new BasicStatementTask(sql, true);
+ // Store future result before enqueueing - task might get already processed and deleted before returning from this method
QueryResultFuture result = task->GetFuture();
Enqueue(task);
- return result; //! Actual return value has no use yet
+ return result;
}
//! Enqueues a query in string format -with variable args- that will set the value of the QueryResultFuture return object as soon as the query is executed.
@@ -321,6 +322,7 @@ class DatabaseWorkerPool
PreparedQueryResultFuture AsyncQuery(PreparedStatement* stmt)
{
PreparedStatementTask* task = new PreparedStatementTask(stmt, true);
+ // Store future result before enqueueing - task might get already processed and deleted before returning from this method
PreparedQueryResultFuture result = task->GetFuture();
Enqueue(task);
return result;
@@ -333,6 +335,7 @@ class DatabaseWorkerPool
QueryResultHolderFuture DelayQueryHolder(SQLQueryHolder* holder)
{
SQLQueryHolderTask* task = new SQLQueryHolderTask(holder);
+ // Store future result before enqueueing - task might get already processed and deleted before returning from this method
QueryResultHolderFuture result = task->GetFuture();
Enqueue(task);
return result;