diff options
author | Machiavelli <machiavelli.trinity@gmail.com> | 2011-08-18 12:41:46 +0200 |
---|---|---|
committer | Machiavelli <machiavelli.trinity@gmail.com> | 2011-08-18 12:43:42 +0200 |
commit | fdbfa5156c0f4d0b9c8485ad067ddf38e6320192 (patch) | |
tree | 5cab15512e8728abd98f07970f603c3e0d1269d5 /src/server/shared/Database/QueryResult.h | |
parent | e21b3061137c7d47ca0cd08339bacd42a1e3ad2c (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-x | src/server/shared/Database/QueryResult.h | 4 |
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 |