mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 10:38:42 +01:00
doc: Add and fix comments about never destroyed objects
This commit is contained in:
parent
26c093a995
commit
90eb027204
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user