aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database/QueryResult.h
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-08-18 12:41:46 +0200
committerMachiavelli <machiavelli.trinity@gmail.com>2011-08-18 12:43:42 +0200
commitfdbfa5156c0f4d0b9c8485ad067ddf38e6320192 (patch)
tree5cab15512e8728abd98f07970f603c3e0d1269d5 /src/server/shared/Database/QueryResult.h
parente21b3061137c7d47ca0cd08339bacd42a1e3ad2c (diff)
Core/DBLayer: Possible crash fix for ProcessQueryCallbacks on GCC builds. Ref issue #2136 #1422 #1335.
There's no need for an explicit ACE_Thread_Mutex in the ACE_Refcounted_Auto_Ptr objects since concurrent read/write access is guarded by ACE_Future's implicit ACE_Recursive_Thread_Mutex. Perhaps the double locking was the reason the reference count's atomic incrementing crashing. Please try to test and confirm.
Diffstat (limited to 'src/server/shared/Database/QueryResult.h')
-rwxr-xr-xsrc/server/shared/Database/QueryResult.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/shared/Database/QueryResult.h b/src/server/shared/Database/QueryResult.h
index 53290a5735b..399779fb66f 100755
--- a/src/server/shared/Database/QueryResult.h
+++ b/src/server/shared/Database/QueryResult.h
@@ -58,7 +58,7 @@ class ResultSet
MYSQL_FIELD *m_fields;
};
-typedef ACE_Refcounted_Auto_Ptr<ResultSet, ACE_Thread_Mutex> QueryResult;
+typedef ACE_Refcounted_Auto_Ptr<ResultSet, ACE_Null_Mutex> QueryResult;
class PreparedResultSet
{
@@ -103,7 +103,7 @@ class PreparedResultSet
};
-typedef ACE_Refcounted_Auto_Ptr<PreparedResultSet, ACE_Thread_Mutex> PreparedQueryResult;
+typedef ACE_Refcounted_Auto_Ptr<PreparedResultSet, ACE_Null_Mutex> PreparedQueryResult;
#endif