Public Member Functions | |
LoggingSectionGuard () | |
~LoggingSectionGuard () | |
Static Public Member Functions | |
static bool | Busy () |
whether new debugs() messages must be queued More... | |
Static Private Attributes | |
static size_t | LoggingConcurrencyLevel = 0 |
the current number of protected callers More... | |
Detailed Description
Maintains the number of code paths on the current call stack that need protection from new debugs() calls. Squid cannot block re-entrant debugs() calls, but the high-level debugs() handling code queues re-entrant logging attempts when Busy() instead of letting them through to sensitive code.
Constructor & Destructor Documentation
◆ LoggingSectionGuard()
LoggingSectionGuard::LoggingSectionGuard | ( | ) |
Definition at line 418 of file debug.cc.
References LoggingConcurrencyLevel.
◆ ~LoggingSectionGuard()
LoggingSectionGuard::~LoggingSectionGuard | ( | ) |
Definition at line 423 of file debug.cc.
References LoggingConcurrencyLevel, and Debug::LogWaitingForIdle().
Member Function Documentation
◆ Busy()
|
inlinestatic |
Definition at line 335 of file debug.cc.
References LoggingConcurrencyLevel.
Referenced by Debug::Start().
Member Data Documentation
◆ LoggingConcurrencyLevel
|
staticprivate |
Definition at line 339 of file debug.cc.
Referenced by LoggingSectionGuard(), ~LoggingSectionGuard(), and Busy().
The documentation for this class was generated from the following file:
- src/debug/debug.cc