Collaboration diagram for cbdata:

Public Member Functions

void * operator new (size_t byteCount)
void operator delete (void *address)
 cbdata ()
 ~cbdata ()
void check (int) const

Static Public Member Functions

static int UseCount ()
static cbdataFromUserData (const void *)

Public Attributes

int valid
int32_t locks
cbdata_type type
long cookie
void * data

Static Public Attributes

static const long Cookie

Static Private Member Functions

static Mem::AllocatorProxyPool ()

Detailed Description

Manage a set of registered callback data pointers. One of the easiest ways to make Squid coredump is to issue a callback to for some data structure which has previously been freed. With this class, we register (add) callback data pointers, lock them just before registering the callback function, validate them before issuing the callback, and then free them when finished.

Definition at line 59 of file

Constructor & Destructor Documentation

◆ cbdata()

cbdata::cbdata ( )

Definition at line 80 of file

◆ ~cbdata()

cbdata::~cbdata ( )

Definition at line 145 of file

References cbdata_index, data, MemAllocator::freeOne(), CBDataIndex::pool, and type.

Member Function Documentation

◆ check()

void cbdata::check ( int  ) const

Definition at line 115 of file

References assert, cookie, and Cookie.

◆ FromUserData()

cbdata * cbdata::FromUserData ( const void *  p)

Definition at line 165 of file

References cbdata_htable, and data.

Referenced by cbdataInternalFree(), cbdataInternalLock(), cbdataInternalUnlock(), and cbdataReferenceValid().

◆ operator delete()

void cbdata::operator delete ( void *  address)

Definition at line 70 of file

◆ operator new()

void* cbdata::operator new ( size_t  byteCount)

Definition at line 70 of file

◆ Pool()

static Mem::AllocatorProxy& cbdata::Pool ( )

Definition at line 70 of file

◆ UseCount()

static int cbdata::UseCount ( )

Definition at line 70 of file

Member Data Documentation

◆ cookie

long cbdata::cookie

Definition at line 114 of file

Referenced by cbdataInternalAlloc(), and check().

◆ Cookie

const long cbdata::Cookie

Definition at line 116 of file

Referenced by cbdataInternalAlloc(), and check().

◆ data

void* cbdata::data

◆ locks

int32_t cbdata::locks

Definition at line 96 of file

Referenced by cbdataInternalAlloc().

◆ type

cbdata_type cbdata::type

Definition at line 97 of file

Referenced by ~cbdata(), and cbdataInternalAlloc().

◆ valid

int cbdata::valid

Definition at line 95 of file

Referenced by cbdataInternalAlloc().

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






Web Site Translations