The Pedigree Project  0.1
Public Member Functions | Public Attributes | Private Member Functions | List of all members
PosixSubsystem::PosixThread Class Reference

#include <PosixSubsystem.h>

+ Collaboration diagram for PosixSubsystem::PosixThread:

Public Member Functions

PosixThreadKeygetThreadData (size_t key)
 
void removeThreadData (size_t key)
 
bool addThreadData (size_t key, PosixThreadKey *info)
 

Public Attributes

ThreadpThread
 
Mutex isRunning
 
void * returnValue
 
bool canReclaim
 
bool isDetached
 
Tree< size_t, PosixThreadKey * > m_ThreadData
 
ExtensibleBitmap m_ThreadKeys
 
size_t lastDataKey
 Last data key that was allocated (for the bitmap)
 
size_t nextDataKey
 Next data key available.
 

Private Member Functions

 PosixThread (const PosixThread &)
 
const PosixThreadoperator= (const PosixThread &)
 

Detailed Description

POSIX Thread information

Definition at line 374 of file PosixSubsystem.h.

Member Function Documentation

bool PosixSubsystem::PosixThread::addThreadData ( size_t  key,
PosixThreadKey info 
)
inline

Adds thread-specific data given a PosixThreadKey strcuture and a key.

Returns
false if the key already exists.

Definition at line 419 of file PosixSubsystem.h.

References Tree< K, E >::insert(), and Tree< K, E >::lookup().

PosixThreadKey* PosixSubsystem::PosixThread::getThreadData ( size_t  key)
inline

Grabs thread-specific data given a key

Definition at line 401 of file PosixSubsystem.h.

References Tree< K, E >::lookup().

void PosixSubsystem::PosixThread::removeThreadData ( size_t  key)
inline

Removes thread-specific data given a key (does not call the destructor, or delete the storage.)

Definition at line 410 of file PosixSubsystem.h.

References Tree< K, E >::remove().

Member Data Documentation

Tree<size_t, PosixThreadKey *> PosixSubsystem::PosixThread::m_ThreadData

Links to POSIX thread keys (ie, thread-specific data)

Definition at line 397 of file PosixSubsystem.h.

Referenced by PosixSubsystem::~PosixSubsystem().


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