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.
This commit is contained in:
@@ -58,7 +58,7 @@ class ResultSet
|
|||||||
MYSQL_FIELD *m_fields;
|
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
|
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
|
#endif
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user