fix gtt session issue

This commit is contained in:
wangzhijun2018 2020-09-17 15:01:04 +08:00
parent e8d0ba3f2e
commit 7c7e354931
2 changed files with 5 additions and 2 deletions

View File

@ -4674,6 +4674,8 @@ TransactionId ListAllSessionGttFrozenxids(int maxSize, ThreadId *pids, Transacti
}
ThreadPoolSessControl *sessCtrl = g_threadPoolControler->GetSessionCtrl();
AutoMutexLock alock(sessCtrl->GetSessionCtrlLock());
alock.lock();
const knl_sess_control *sessList = sessCtrl->GetSessionList();
const knl_sess_control *currSess = sessList;
while (currSess != nullptr) {
@ -4694,6 +4696,7 @@ TransactionId ListAllSessionGttFrozenxids(int maxSize, ThreadId *pids, Transacti
}
currSess = currSess->next;
}
alock.unLock();
if (maxSize > 0) {
*n = i;

View File

@ -88,9 +88,9 @@ public:
return m_activelist;
}
inline pthread_mutex_t GetSessionCtrlLock()
inline pthread_mutex_t* GetSessionCtrlLock()
{
return m_sessCtrlock;
return &m_sessCtrlock;
}
private: