oceanbase

Форк
0
/
ob_pl_package_guard.cpp 
48 строк · 1.2 Кб
1
/**
2
 * Copyright (c) 2021 OceanBase
3
 * OceanBase CE is licensed under Mulan PubL v2.
4
 * You can use this software according to the terms and conditions of the Mulan PubL v2.
5
 * You may obtain a copy of Mulan PubL v2 at:
6
 *          http://license.coscl.org.cn/MulanPubL-2.0
7
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
 * See the Mulan PubL v2 for more details.
11
 */
12

13
#define USING_LOG_PREFIX PL
14

15
#include "pl/ob_pl_package.h"
16
#include "ob_pl_package_guard.h"
17

18
namespace oceanbase
19
{
20
namespace pl
21
{
22
ObPLPackageGuard::~ObPLPackageGuard()
23
{
24
  if (map_.created()) {
25
    FOREACH(it, map_) {
26
      if (OB_ISNULL(it->second)) {
27
      } else {
28
        it->second->~ObCacheObjGuard();
29
      }
30
    }
31
    map_.destroy();
32
  }
33
}
34

35
int ObPLPackageGuard::init()
36
{
37
  int ret = OB_SUCCESS;
38
  if (OB_FAIL(map_.create(
39
        common::hash::cal_next_prime(256),
40
        common::ObModIds::OB_HASH_BUCKET,
41
        common::ObModIds::OB_HASH_NODE))) {
42
    LOG_WARN("failed to create package guard map!", K(ret));
43
  }
44
  return ret;
45
}
46

47
} // end namespace pl
48
} // end namespace oceanbase
49

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.