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

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()

static bool LoggingSectionGuard::Busy ( )
inlinestatic

Definition at line 335 of file debug.cc.

References LoggingConcurrencyLevel.

Referenced by Debug::Start().

Member Data Documentation

◆ LoggingConcurrencyLevel

size_t LoggingSectionGuard::LoggingConcurrencyLevel = 0
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:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors