Fix the problem of arm atomic operation crash caused by global variable address misalignment
This commit is contained in:
parent
367cd4c339
commit
700e4a2978
@ -378,7 +378,7 @@ ObTenantCtxAllocator *ObMallocAllocator::take_off_tenant_allocator(uint64_t tena
|
||||
void ObMallocAllocator::set_root_allocator()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
static char buf[sizeof(ObTenantCtxAllocator) * ObCtxIds::MAX_CTX_ID];
|
||||
static char buf[sizeof(ObTenantCtxAllocator) * ObCtxIds::MAX_CTX_ID] __attribute__((__aligned__(16)));
|
||||
ObTenantCtxAllocator *allocator = NULL;
|
||||
abort_unless(OB_SUCCESS == create_tenant_allocator(OB_SERVER_TENANT_ID, buf, allocator));
|
||||
abort_unless(OB_SUCCESS == add_tenant_allocator(allocator));
|
||||
|
@ -611,7 +611,7 @@ int ObResourceMgr::create_tenant_resource_mgr_unsafe(const uint64_t tenant_id,
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_WARN("invalid argument", K(ret), K(tenant_id));
|
||||
} else if (OB_UNLIKELY(OB_SERVER_TENANT_ID == tenant_id)) {
|
||||
static char buf[sizeof(ObTenantResourceMgr)];
|
||||
static char buf[sizeof(ObTenantResourceMgr)] __attribute__((__aligned__(16)));
|
||||
ptr = buf;
|
||||
} else {
|
||||
ObMemAttr attr(OB_SERVER_TENANT_ID, "TntResourceMgr");
|
||||
|
Loading…
x
Reference in New Issue
Block a user