mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 18:49:30 +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,
|
* access the logger. When the shutdown sequence is fully audited and tested,
|
||||||
* explicit destruction of these objects can be implemented by changing this
|
* explicit destruction of these objects can be implemented by changing this
|
||||||
* from a raw pointer to a std::unique_ptr.
|
* from a raw pointer to a std::unique_ptr.
|
||||||
* Since the destructor is never called, the logger and all its members must
|
* Since the ~Logger() destructor is never called, the Logger class and all
|
||||||
* have a trivial destructor.
|
* its subclasses must have implicitly-defined destructors.
|
||||||
*
|
*
|
||||||
* This method of initialization was originally introduced in
|
* This method of initialization was originally introduced in
|
||||||
* ee3374234c60aba2cc4c5cd5cac1c0aefc2d817c.
|
* ee3374234c60aba2cc4c5cd5cac1c0aefc2d817c.
|
||||||
|
@ -95,6 +95,8 @@ struct LockData {
|
|||||||
LockData& GetLockData() {
|
LockData& GetLockData() {
|
||||||
// This approach guarantees that the object is not destroyed until after its last use.
|
// 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.
|
// 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();
|
static LockData& lock_data = *new LockData();
|
||||||
return lock_data;
|
return lock_data;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user