Squid Web Cache master
Loading...
Searching...
No Matches
LoggingSectionGuard Class Reference

Public Member Functions

 LoggingSectionGuard ()
 
 ~LoggingSectionGuard ()
 

Static Public Member Functions

static bool Busy ()
 whether new debugs() messages must be queued
 

Static Private Attributes

static size_t LoggingConcurrencyLevel = 0
 the current number of protected callers
 

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 329 of file debug.cc.

Constructor & Destructor Documentation

◆ LoggingSectionGuard()

LoggingSectionGuard::LoggingSectionGuard ( )

Definition at line 419 of file debug.cc.

References LoggingConcurrencyLevel.

◆ ~LoggingSectionGuard()

LoggingSectionGuard::~LoggingSectionGuard ( )

Definition at line 424 of file debug.cc.

References LoggingConcurrencyLevel, and Debug::LogWaitingForIdle().

Member Function Documentation

◆ Busy()

static bool LoggingSectionGuard::Busy ( )
inlinestatic

Definition at line 336 of file debug.cc.

References LoggingConcurrencyLevel.

Referenced by Debug::Start().

Member Data Documentation

◆ LoggingConcurrencyLevel

size_t LoggingSectionGuard::LoggingConcurrencyLevel = 0
staticprivate

Definition at line 340 of file debug.cc.

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


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