You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
fix(BRM): MCOL-5879 DBRM::clearShm runs crit sections w/o sync mechanism (#3390)
This commit is contained in:
@ -101,11 +101,11 @@ class DBRM
|
||||
EXPORT DBRM(bool noBRMFcns = false);
|
||||
EXPORT ~DBRM();
|
||||
|
||||
EXPORT static void refreshShm()
|
||||
static void refreshShmWithLock()
|
||||
{
|
||||
MasterSegmentTableImpl::refreshShm();
|
||||
ExtentMapRBTreeImpl::refreshShm();
|
||||
FreeListImpl::refreshShm();
|
||||
MasterSegmentTableImpl::refreshShmWithLock();
|
||||
ExtentMapRBTreeImpl::refreshShmWithLock();
|
||||
FreeListImpl::refreshShmWithLock();
|
||||
}
|
||||
|
||||
// @bug 1055+ - Added functions below for multiple files per OID enhancement.
|
||||
|
@ -265,6 +265,12 @@ class ExtentMapRBTreeImpl
|
||||
|
||||
static ExtentMapRBTreeImpl* makeExtentMapRBTreeImpl(unsigned key, off_t size, bool readOnly = false);
|
||||
|
||||
static void refreshShmWithLock()
|
||||
{
|
||||
boost::mutex::scoped_lock lk(fInstanceMutex);
|
||||
return refreshShm();
|
||||
}
|
||||
|
||||
static void refreshShm()
|
||||
{
|
||||
if (fInstance)
|
||||
@ -317,6 +323,13 @@ class FreeListImpl
|
||||
~FreeListImpl(){};
|
||||
|
||||
static FreeListImpl* makeFreeListImpl(unsigned key, off_t size, bool readOnly = false);
|
||||
|
||||
static void refreshShmWithLock()
|
||||
{
|
||||
boost::mutex::scoped_lock lk(fInstanceMutex);
|
||||
return refreshShm();
|
||||
}
|
||||
|
||||
static void refreshShm()
|
||||
{
|
||||
if (fInstance)
|
||||
|
@ -61,6 +61,12 @@ class MasterSegmentTableImpl
|
||||
~MasterSegmentTableImpl(){};
|
||||
static MasterSegmentTableImpl* makeMasterSegmentTableImpl(int key, int size);
|
||||
|
||||
static void refreshShmWithLock()
|
||||
{
|
||||
boost::mutex::scoped_lock lk(fInstanceMutex);
|
||||
return refreshShm();
|
||||
}
|
||||
|
||||
static void refreshShm()
|
||||
{
|
||||
if (fInstance)
|
||||
|
Reference in New Issue
Block a user