aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2020-05-22 15:45:21 +0300
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2020-05-22 15:45:21 +0300
commit90eb027204f5a9d7c00fa97d4112243bd37a9012 (patch)
tree48f59f69118a294203762b72481d6c61e3d6c25f /src
parent26c093a9957756f3743c2347fe0abd90f81159c4 (diff)
doc: Add and fix comments about never destroyed objects
Diffstat (limited to 'src')
-rw-r--r--src/logging.cpp4
-rw-r--r--src/sync.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/logging.cpp b/src/logging.cpp
index eb9da06d9b..56c44ae1ea 100644
--- a/src/logging.cpp
+++ b/src/logging.cpp
@@ -22,8 +22,8 @@ BCLog::Logger& LogInstance()
* access the logger. When the shutdown sequence is fully audited and tested,
* explicit destruction of these objects can be implemented by changing this
* from a raw pointer to a std::unique_ptr.
- * Since the destructor is never called, the logger and all its members must
- * have a trivial destructor.
+ * Since the ~Logger() destructor is never called, the Logger class and all
+ * its subclasses must have implicitly-defined destructors.
*
* This method of initialization was originally introduced in
* ee3374234c60aba2cc4c5cd5cac1c0aefc2d817c.
diff --git a/src/sync.cpp b/src/sync.cpp
index 9b0878bbea..c3312b5a00 100644
--- a/src/sync.cpp
+++ b/src/sync.cpp
@@ -95,6 +95,8 @@ struct LockData {
LockData& GetLockData() {
// This approach guarantees that the object is not destroyed until after its last use.
// The operating system automatically reclaims all the memory in a program's heap when that program exits.
+ // Since the ~LockData() destructor is never called, the LockData class and all
+ // its subclasses must have implicitly-defined destructors.
static LockData& lock_data = *new LockData();
return lock_data;
}