aboutsummaryrefslogtreecommitdiffstats
path: root/util/system/dynlib.h
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2024-11-20 11:14:58 +0000
committerAlexander Smirnov <alex@ydb.tech>2024-11-20 11:14:58 +0000
commit31773f157bf8164364649b5f470f52dece0a4317 (patch)
tree33d0f7eef45303ab68cf08ab381ce5e5e36c5240 /util/system/dynlib.h
parent2c7938962d8689e175574fc1e817c05049f27905 (diff)
parenteff600952d5dfe17942f38f510a8ac2b203bb3a5 (diff)
downloadydb-31773f157bf8164364649b5f470f52dece0a4317.tar.gz
Merge branch 'rightlib' into mergelibs-241120-1113
Diffstat (limited to 'util/system/dynlib.h')
-rw-r--r--util/system/dynlib.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/util/system/dynlib.h b/util/system/dynlib.h
index 66eaf4a5c1..03e4b3dff8 100644
--- a/util/system/dynlib.h
+++ b/util/system/dynlib.h
@@ -55,18 +55,20 @@ public:
TExternalSymbol(const TExternalSymbol& es) {
PLib = nullptr;
DLib = nullptr;
- if (es.IsDynamic())
+ if (es.IsDynamic()) {
Open(es.LibName().data(), es.VtblName().data());
- else if (es.IsStatic())
+ } else if (es.IsStatic()) {
SetSym(es.Symbol());
+ }
}
TExternalSymbol& operator=(const TExternalSymbol& es) {
if (this != &es) {
Close();
- if (es.IsDynamic())
+ if (es.IsDynamic()) {
Open(es.LibName().data(), es.VtblName().data());
- else if (es.IsStatic())
+ } else if (es.IsStatic()) {
SetSym(es.Symbol());
+ }
}
return *this;
}
@@ -75,8 +77,9 @@ public:
}
// set the symbol from dynamic source
void Open(const char* lib_name, const char* vtbl_name) {
- if (DLib != nullptr || PLib != nullptr)
+ if (DLib != nullptr || PLib != nullptr) {
return;
+ }
try {
DLib = new TDynamicLibrary();
DLib->Open(lib_name);
@@ -91,8 +94,9 @@ public:
}
// set the symbol from static source
void SetSym(TLib* pl) noexcept {
- if (DLib == nullptr && PLib == nullptr)
+ if (DLib == nullptr && PLib == nullptr) {
PLib = pl;
+ }
}
void Close() noexcept {
delete DLib;