Collaboration diagram for LoggingSectionGuard:

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.

Definition at line 327 of file

Constructor & Destructor Documentation

◆ LoggingSectionGuard()

LoggingSectionGuard::LoggingSectionGuard ( )

Definition at line 417 of file

References LoggingConcurrencyLevel.

◆ ~LoggingSectionGuard()

LoggingSectionGuard::~LoggingSectionGuard ( )

Definition at line 422 of file

References LoggingConcurrencyLevel, and Debug::LogWaitingForIdle().

Member Function Documentation

◆ Busy()

static bool LoggingSectionGuard::Busy ( )

Definition at line 334 of file

References LoggingConcurrencyLevel.

Referenced by Debug::Start().

Member Data Documentation

◆ LoggingConcurrencyLevel

size_t LoggingSectionGuard::LoggingConcurrencyLevel = 0

Definition at line 338 of file

Referenced by LoggingSectionGuard(), ~LoggingSectionGuard(), and Busy().

The documentation for this class was generated from the following file:






Web Site Translations