osg::PThreadBase Class Reference
[Multithreading]

#include <OSGThread.h>

Inheritance diagram for osg::PThreadBase:

osg::ThreadCommonBase osg::BaseThread osg::BasePThreadBase osg::BaseThreadCommonBase osg::MPBase osg::MemoryObject osg::ExternalThread osg::Thread

List of all members.

Public Types

typedef MPThreadType Type
typedef void(* ThreadFuncF )(void *pThreadArg)

Public Member Functions

bool isInitialized (void)
Run


bool runFunction (ThreadFuncF fThreadFunc, UInt32 uiAspectId, void *pThreadArg)
Get


ChangeList * getChangeList (void)
Run


void run (void)
bool runFunction (ThreadFuncF fThreadFunc, void *pThreadArg)
Blocking


void block (void)
void unblock (void)
Helper


bool exists (void)
void terminate (void)
void kill (void)
Dump


void print (void)
Get


virtual MPType & getType (void)
virtual const MPType & getType (void) const
UInt32 getTypeId (void)
const Char8 * getCName (void) const
Reference Counting


void addRef (void)
void subRef (void)
Int32 getRefCount (void)

Static Public Member Functions

Get


static UInt32 getAspect (void)
static ChangeList * getCurrentChangeList (void)
Get


static BaseThread * get (const Char8 *szName)
static BaseThread * find (const Char8 *szName)
static BaseThread * create (void)
static const MPThreadType & getClassType (void)
Get


static BaseThread * getCurrent (void)
Join


static void join (BaseThread *pThread)
Class Get


static const MPType & getStaticType (void)
static UInt32 getStaticTypeId (void)

Static Public Attributes

static const UInt32 InvalidAspect

Protected Types

typedef ThreadCommonBase Inherited

Protected Member Functions

Constructors


 PThreadBase (const Char8 *szName, UInt32 uiId)
Destructor


virtual ~PThreadBase (void)
Setup


virtual void init (void)
void setupAspect (void)
void setupChangeList (void)
Set


void setAspect (UInt32 uiAspectId)
void setChangeList (ChangeList *pChangeList)
Workproc


virtual void workProc (void)
Construction


void setupThread (void)
void setupBlockCond (void)

Static Protected Member Functions

Free


static void freeAspect (void *pAspect)
static void freeChangeList (void *pChangeList)
Class Specific


static BaseThread * create (const Char8 *szName, UInt32 uiId)
static void initThreading (void)
static void runWorkProc (void *pThread)
Join


static void join (BasePThreadBase *threadP)
Helper


static void * threadFunc (void *pThreadArg)
static void freeThread (void *pThread)

Protected Attributes

UInt32 _uiThreadId
bool _bInitialized
Member


UInt32 _uiAspectId
ChangeList * _pChangeList
Instance Variables


void * _pThreadData [3]
pthread_t * _pThreadDesc
pthread_cond_t * _pBlockCond
pthread_mutex_t * _pBlockMutex
Class Specific


Char8 * _szName

Static Protected Attributes

static MPThreadType _type
static pthread_key_t _threadKey
Member


static pthread_key_t _aspectKey
static pthread_key_t _changeListKey

Private Member Functions

 PThreadBase (const PThreadBase &source)
 prohibit default function (move to 'public' if needed)
void operator= (const PThreadBase &source)
 prohibit default function (move to 'public' if needed)

Friends

class ThreadManager


Detailed Description

Definition at line 166 of file OSGThread.h.


Member Typedef Documentation

Reimplemented from osg::ThreadCommonBase.

Reimplemented in osg::Thread, and osg::ExternalThread.

Definition at line 193 of file OSGThread.h.

typedef MPThreadType osg::BaseThread::Type [inherited]

Reimplemented in osg::Thread, and osg::ExternalThread.

Definition at line 565 of file OSGBaseThread.h.

typedef void(* osg::BaseThreadCommonBase::ThreadFuncF)(void *pThreadArg) [inherited]


Constructor & Destructor Documentation

PThreadBase::PThreadBase ( const Char8 *  szName,
UInt32  uiId 
) [protected]

Definition at line 204 of file OSGThread.cpp.

00205                                               :
00206     Inherited(szName, uiId)
00207 {
00208 }

PThreadBase::~PThreadBase ( void   )  [protected, virtual]

Definition at line 213 of file OSGThread.cpp.

00214 {
00215 }

osg::PThreadBase::PThreadBase ( const PThreadBase &  source  )  [private]


Member Function Documentation

UInt32 PThreadBase::getAspect ( void   )  [static]

Definition at line 133 of file OSGThread.cpp.

References _aspectKey.

Referenced by osg::ChangeList::apply(), osg::ChangeList::applyToCurrent(), osg::TextureChunk::changed(), osg::SHLChunk::changed(), osg::Geometry::changed(), osg::FieldContainerPtrBase::deleteContainers(), osg::FieldContainerPtrBase::FieldContainerPtrBase(), osg::NodePtr::getCore(), osg::NodePtr::getCPtr(), osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::getCPtr(), osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::getCPtr(), osg::ConstFieldContainerPtr::getCPtr(), osg::FieldContainerPtr::getCPtr(), osg::CNodePtr::getCPtr(), osg::AttachmentPtr::getCPtr(), osg::AttachmentContainerPtr::getCPtr(), osg::CNodePtr::getNode(), osg::FieldContainer::newPtr(), osg::TextureChunk::onCreate(), osg::Surface::onCreate(), osg::SHLChunk::onCreate(), osg::Geometry::onCreate(), osg::NodePtr::operator*(), osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator*(), osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::operator*(), osg::ConstFieldContainerPtr::operator*(), osg::FieldContainerPtr::operator*(), osg::CNodePtr::operator*(), osg::AttachmentPtr::operator*(), osg::AttachmentContainerPtr::operator*(), osg::NodePtr::operator->(), osg::ConstFCPtr< BasePtrTypeT, FieldContainerTypeT >::operator->(), osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::operator->(), osg::ConstFieldContainerPtr::operator->(), osg::FieldContainerPtr::operator->(), osg::CNodePtr::operator->(), osg::AttachmentPtr::operator->(), osg::AttachmentContainerPtr::operator->(), and osg::ProxyGroup::startLoading().

00134 {
00135 #if defined(OSG_PTHREAD_ELF_TLS)
00136     return _uiTLSAspectId;
00137 #else
00138     UInt32 *pUint;
00139 
00140     pUint = (UInt32 *) pthread_getspecific(_aspectKey);
00141 
00142     return *pUint;
00143 #endif
00144 
00145 }

ChangeList * PThreadBase::getCurrentChangeList ( void   )  [static]

Definition at line 147 of file OSGThread.cpp.

References _changeListKey.

Referenced by osg::FieldContainerPtrBase::addRef(), osg::FieldContainerPtrBase::deleteContainers(), osg::FieldContainerPtr::endEditNotChanged(), osg::ClusterWindow::frameInit(), osg::FieldContainer::newPtr(), and osg::FieldContainerPtrBase::subRef().

00148 {
00149 #if defined(OSG_PTHREAD_ELF_TLS)
00150     return _pTLSChangeList;
00151 #else
00152     ChangeList **pCList;
00153 
00154     pCList = (ChangeList **) pthread_getspecific(_changeListKey);
00155 
00156     return *pCList;
00157 #endif
00158 }

bool PThreadBase::runFunction ( ThreadFuncF  fThreadFunc,
UInt32  uiAspectId,
void *  pThreadArg 
)

Definition at line 165 of file OSGThread.cpp.

References osg::ThreadManager::getNumAspects(), osg::BaseThread::runFunction(), osg::ThreadCommonBase::setAspect(), and SFATAL.

Referenced by osg::SceneFileHandler::initReadProgress(), osg::Thread::run(), osg::ProxyGroup::startLoading(), and osg::startSceneGraphViewThread().

00168 {
00169     if(uiAspectId >= ThreadManager::getNumAspects())
00170     {
00171         SFATAL << "OSGPTB : invalid aspect id" << std::endl;
00172         return false;
00173     }
00174 
00175     Inherited::setAspect(uiAspectId);
00176 
00177     return Inherited::runFunction(fThreadFunc, pThreadArg);
00178 }

void PThreadBase::freeAspect ( void *  pAspect  )  [static, protected]

Definition at line 184 of file OSGThread.cpp.

Referenced by osg::Thread::initThreading(), and osg::ThreadManager::shutdown().

00185 {
00186     UInt32 *pUint = (UInt32 *) pAspect;
00187 
00188     if(pUint != NULL)
00189         delete pUint;
00190 }

void PThreadBase::freeChangeList ( void *  pChangeList  )  [static, protected]

Definition at line 192 of file OSGThread.cpp.

Referenced by osg::Thread::initThreading(), and osg::ThreadManager::shutdown().

00193 {
00194     ChangeList **pCl = (ChangeList **) pChangeList;
00195 
00196     if(pCl != NULL)
00197         delete pCl;
00198 }

void PThreadBase::init ( void   )  [protected, virtual]

Reimplemented from osg::BasePThreadBase.

Definition at line 220 of file OSGThread.cpp.

References osg::BaseThreadCommonBase::_bInitialized, init(), setupAspect(), and setupChangeList().

Referenced by osg::ExternalThread::initialize().

00221 {
00222     if(_bInitialized == true)
00223         return;
00224 
00225     Inherited::init();
00226 
00227     if(_bInitialized == true)
00228     {
00229         setupAspect    ();        
00230         setupChangeList();        
00231     }
00232 }

void PThreadBase::setupAspect ( void   )  [protected]

Definition at line 235 of file OSGThread.cpp.

References _aspectKey, and osg::ThreadCommonBase::_uiAspectId.

Referenced by init().

00236 {
00237 
00238 #if defined(OSG_PTHREAD_ELF_TLS)
00239     _uiTLSAspectId  = Inherited::_uiAspectId;
00240 #else
00241     UInt32 *pUint = new UInt32;
00242 
00243     *pUint = Inherited::_uiAspectId;
00244 
00245     pthread_setspecific(_aspectKey, (void *) pUint);  
00246 #endif
00247 }

void PThreadBase::setupChangeList ( void   )  [protected]

Definition at line 249 of file OSGThread.cpp.

References _changeListKey, osg::ThreadCommonBase::_pChangeList, osg::ThreadCommonBase::_uiAspectId, osg::ChangeList::clearAll(), and osg::ThreadCommonBase::setChangeList().

Referenced by init().

00250 {
00251 #if defined(OSG_PTHREAD_ELF_TLS)
00252     if(Inherited::_pChangeList == NULL)
00253     {
00254         _pTLSChangeList = new ChangeList;
00255 
00256         Inherited::setChangeList(_pTLSChangeList);
00257     }
00258     else
00259     {
00260         _pTLSChangeList = Inherited::_pChangeList;
00261         
00262         _pTLSChangeList->clearAll();
00263     }
00264     
00265     _pTLSChangeList->setAspect(Inherited::_uiAspectId);
00266 #else
00267     ChangeList **pChangeList = new ChangeList *;
00268 
00269     if(Inherited::_pChangeList == NULL)
00270     {
00271         *pChangeList = new ChangeList;
00272 
00273         Inherited::setChangeList(*pChangeList);
00274     }
00275     else
00276     {
00277         *pChangeList = Inherited::_pChangeList;
00278         
00279         (*pChangeList)->clearAll();
00280     }
00281 
00282     (*pChangeList)->setAspect(Inherited::_uiAspectId);
00283     pthread_setspecific(_changeListKey, (void *) pChangeList);  
00284 #endif
00285 }

void osg::PThreadBase::operator= ( const PThreadBase &  source  )  [private]

ChangeList * ThreadCommonBase::getChangeList ( void   )  [inherited]

Definition at line 77 of file OSGThread.cpp.

References osg::ThreadCommonBase::_pChangeList.

00078 {
00079     return _pChangeList;
00080 }

void ThreadCommonBase::setAspect ( UInt32  uiAspectId  )  [protected, inherited]

Definition at line 107 of file OSGThread.cpp.

References osg::ThreadCommonBase::_uiAspectId.

Referenced by osg::ExternalThread::initialize(), and runFunction().

00108 {
00109     _uiAspectId = uiAspectId;
00110 }

void ThreadCommonBase::setChangeList ( ChangeList *  pChangeList  )  [protected, inherited]

Definition at line 112 of file OSGThread.cpp.

References osg::ThreadCommonBase::_pChangeList, and osg::setRefP().

Referenced by setupChangeList().

00113 {
00114     setRefP(_pChangeList, pChangeList);
00115 }

BaseThread * BaseThread::get ( const Char8 *  szName  )  [static, inherited]

Reimplemented in osg::Thread, and osg::ExternalThread.

Definition at line 752 of file OSGBaseThread.cpp.

References osg::ThreadManager::getThread(), and osg::ThreadManager::the().

Referenced by osg::BaseThread::create(), osg::PointMCastConnection::initialize(), and osg::GroupMCastConnection::initialize().

00753 {
00754     return ThreadManager::the()->getThread(szName, "OSGBaseThread");
00755 }

BaseThread * BaseThread::find ( const Char8 *  szName  )  [static, inherited]

Reimplemented in osg::Thread, and osg::ExternalThread.

Definition at line 757 of file OSGBaseThread.cpp.

References osg::ThreadManager::findThread(), and osg::ThreadManager::the().

00758 {
00759     return ThreadManager::the()->findThread(szName);
00760 }

BaseThread * BaseThread::create ( void   )  [static, inherited]

Definition at line 762 of file OSGBaseThread.cpp.

References osg::BaseThread::get().

00763 {
00764     return BaseThread::get(NULL);
00765 }

BaseThread * BaseThread::create ( const Char8 *  szName,
UInt32  uiId 
) [static, protected, inherited]

Reimplemented in osg::Thread, and osg::ExternalThread.

Definition at line 839 of file OSGBaseThread.cpp.

References osg::BaseThread::BaseThread().

00840 {
00841     return new BaseThread(szName, uiId);
00842 }

const MPThreadType & BaseThread::getClassType ( void   )  [static, inherited]

Definition at line 767 of file OSGBaseThread.cpp.

References osg::BaseThread::_type.

Referenced by osg::ThreadManager::init().

00768 {
00769     return _type;
00770 }

BaseThread * BaseThread::getCurrent ( void   )  [static, inherited]

Reimplemented from osg::BasePThreadBase.

Reimplemented in osg::Thread, and osg::ExternalThread.

Definition at line 774 of file OSGBaseThread.cpp.

References osg::Directory::getCurrent().

00775 {
00776     return Inherited::getCurrent();
00777 }

void BaseThread::join ( BaseThread *  pThread  )  [static, inherited]

void BasePThreadBase::join ( BasePThreadBase *  threadP  )  [static, protected, inherited]

Definition at line 221 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::_pThreadDesc.

Referenced by osg::BaseThread::join().

00222 {
00223     if(pThread != NULL && pThread->_pThreadDesc != NULL)
00224     {
00225         pthread_join(*(pThread->_pThreadDesc), NULL);
00226     }
00227 }

void BaseThread::run ( void   )  [inherited]

Definition at line 789 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::runFunction(), and osg::BaseThread::runWorkProc().

00790 {
00791     Inherited::runFunction(runWorkProc, this);
00792 }

bool BaseThread::runFunction ( ThreadFuncF  fThreadFunc,
void *  pThreadArg 
) [inherited]

Reimplemented from osg::BasePThreadBase.

Definition at line 794 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::runFunction().

Referenced by osg::GroupMCastConnection::initialize(), and runFunction().

00796 {
00797     return Inherited::runFunction(fThreadFunc, pThreadArg);
00798 }

void BaseThread::block ( void   )  [inherited]

Reimplemented from osg::BasePThreadBase.

Definition at line 802 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::block().

00803 {
00804     Inherited::block();
00805 }

void BaseThread::unblock ( void   )  [inherited]

Reimplemented from osg::BasePThreadBase.

Definition at line 807 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::unblock().

00808 {
00809     Inherited::unblock();
00810 }

bool BaseThread::exists ( void   )  [inherited]

Reimplemented from osg::BasePThreadBase.

Definition at line 814 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::exists().

00815 {
00816     return Inherited::exists();
00817 }

void BaseThread::terminate ( void   )  [inherited]

Reimplemented from osg::BasePThreadBase.

Definition at line 820 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::terminate().

Referenced by osg::BaseThread::~BaseThread().

00821 {
00822     Inherited::terminate();
00823 }

void BaseThread::kill ( void   )  [inherited]

Reimplemented from osg::BasePThreadBase.

Definition at line 825 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::kill().

00826 {
00827     Inherited::kill();
00828 }

void BaseThread::print ( void   )  [inherited]

Reimplemented from osg::BasePThreadBase.

Definition at line 832 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::print().

00833 {
00834     Inherited::print();
00835 }

void BaseThread::initThreading ( void   )  [static, protected, inherited]

Reimplemented in osg::Thread.

Definition at line 844 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::_threadKey, FFASSERT, FINFO, and osg::BasePThreadBase::freeThread().

00845 {
00846     FINFO(("BaseThread::initThreading\n"))
00847 
00848 #if defined(OSG_USE_PTHREADS) && !defined(OSG_PTHREAD_ELF_TLS)
00849     int rc;
00850 
00851     rc = pthread_key_create(&(BaseThread::_threadKey),
00852                               BaseThread::freeThread);
00853 
00854     FFASSERT((rc == 0), 1, ("Failed to create pthread thread key\n");)
00855 #endif
00856 
00857 #if defined(OSG_USE_WINTHREADS) && defined (OSG_ASPECT_USE_LOCALSTORAGE)
00858     BaseThread::_threadKey     = TlsAlloc();
00859 
00860     FFASSERT((BaseThread::_threadKey != 0xFFFFFFFF), 1,
00861              ("Failed to alloc thread key local storage\n");)
00862 #endif
00863 }

void BaseThread::runWorkProc ( void *  pThread  )  [static, protected, inherited]

Definition at line 865 of file OSGBaseThread.cpp.

References osg::BaseThread::workProc().

Referenced by osg::Thread::run(), and osg::BaseThread::run().

00866 {
00867     if(pThread != NULL)
00868     {
00869         static_cast<BaseThread *>(pThread)->workProc();
00870     }
00871 }

void BaseThread::workProc ( void   )  [protected, virtual, inherited]

Definition at line 893 of file OSGBaseThread.cpp.

Referenced by osg::BaseThread::runWorkProc().

00894 {
00895 }

void * BasePThreadBase::threadFunc ( void *  pThreadArg  )  [static, protected, inherited]

Definition at line 114 of file OSGBaseThread.cpp.

Referenced by osg::BasePThreadBase::runFunction().

00115 {
00116     void **pArgs = (void **) pThreadArg;
00117 
00118     if(pArgs != NULL)
00119     {
00120         if(pArgs[2] != NULL)
00121         {
00122             ((BaseThread *) pArgs[2])->init();
00123 
00124             if(pArgs[0] != NULL)
00125             {
00126                 ThreadFuncF fThreadFunc = (ThreadFuncF) pArgs[0];
00127 
00128                 fThreadFunc(pArgs[1]);
00129             }
00130         }
00131     }
00132 
00133     return NULL;
00134 }

void BasePThreadBase::freeThread ( void *  pThread  )  [static, protected, inherited]

Definition at line 137 of file OSGBaseThread.cpp.

Referenced by osg::BaseThread::initThreading(), and osg::ThreadManager::shutdown().

00138 {
00139     BaseThread **pT = static_cast<BaseThread **>(pThread);
00140 
00141     delete pT;
00142 }

void BasePThreadBase::setupThread ( void   )  [protected, inherited]

Definition at line 171 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::_threadKey.

Referenced by osg::BasePThreadBase::init().

00172 {
00173 #ifdef OSG_PTHREAD_ELF_TLS
00174     _pLocalThread = static_cast<BaseThread *>(this);
00175 #else
00176     BaseThread **pThread = new BaseThread *;
00177 
00178     *pThread = (BaseThread *) this;
00179 
00180     pthread_setspecific(_threadKey, (void *) pThread);
00181 #endif
00182 }

void BasePThreadBase::setupBlockCond ( void   )  [protected, inherited]

Definition at line 184 of file OSGBaseThread.cpp.

References osg::BasePThreadBase::_pBlockCond, and osg::BasePThreadBase::_pBlockMutex.

Referenced by osg::BasePThreadBase::init().

00185 {
00186     _pBlockCond  = new pthread_cond_t;
00187     _pBlockMutex = new pthread_mutex_t;
00188 
00189     pthread_cond_init (_pBlockCond, NULL);
00190     pthread_mutex_init(_pBlockMutex, NULL);
00191 }

bool BaseThreadCommonBase::isInitialized ( void   )  [inherited]

Definition at line 73 of file OSGBaseThread.cpp.

References osg::BaseThreadCommonBase::_bInitialized.

00074 {
00075     return _bInitialized;
00076 }

const MPType & MPBase::getStaticType ( void   )  [static, inherited]

Definition at line 253 of file OSGMPBase.cpp.

References osg::MPBase::_type.

00254 {
00255     return _type;
00256 }

UInt32 MPBase::getStaticTypeId ( void   )  [static, inherited]

Definition at line 259 of file OSGMPBase.cpp.

00260 {
00261     return 0;
00262 }

MPType & MPBase::getType ( void   )  [virtual, inherited]

Definition at line 265 of file OSGMPBase.cpp.

References osg::MPBase::_type.

Referenced by osg::MPBase::getTypeId().

00266 {
00267     return _type;
00268 }

const MPType & MPBase::getType ( void   )  const [virtual, inherited]

Definition at line 271 of file OSGMPBase.cpp.

References osg::MPBase::_type.

00272 {
00273     return _type;
00274 }

UInt32 MPBase::getTypeId ( void   )  [inherited]

Definition at line 277 of file OSGMPBase.cpp.

References osg::TypeBase::getId(), and osg::MPBase::getType().

00278 {
00279     return getType().getId();
00280 }

const Char8 * MPBase::getCName ( void   )  const [inherited]

Definition at line 283 of file OSGMPBase.cpp.

References osg::MPBase::_szName.

00284 {
00285     return _szName;
00286 }

void MemoryObject::addRef ( void   )  [inherited]

void MemoryObject::subRef ( void   )  [inherited]

Definition at line 69 of file OSGMemoryObject.cpp.

References osg::MemoryObject::_refCount.

00070 {
00071     _refCount--;
00072 
00073     if(_refCount <= 0)
00074         delete this;
00075 }

Int32 MemoryObject::getRefCount ( void   )  [inherited]

Definition at line 77 of file OSGMemoryObject.cpp.

References osg::MemoryObject::_refCount.

00078 {
00079     return _refCount;
00080 }


Friends And Related Function Documentation

friend class ThreadManager [friend]

Reimplemented from osg::ThreadCommonBase.

Reimplemented in osg::Thread, and osg::ExternalThread.

Definition at line 246 of file OSGThread.h.


Member Data Documentation

pthread_key_t PThreadBase::_aspectKey [static, protected]

Definition at line 203 of file OSGThread.h.

Referenced by getAspect(), osg::Thread::initThreading(), and setupAspect().

pthread_key_t PThreadBase::_changeListKey [static, protected]

Definition at line 204 of file OSGThread.h.

Referenced by getCurrentChangeList(), osg::Thread::initThreading(), and setupChangeList().

const UInt32 ThreadCommonBase::InvalidAspect [static, inherited]

Initial value:

Definition at line 96 of file OSGThread.h.

Definition at line 115 of file OSGThread.h.

Referenced by osg::ThreadCommonBase::setAspect(), setupAspect(), and setupChangeList().

MPThreadType BaseThread::_type [static, protected, inherited]

Reimplemented from osg::MPBase.

Reimplemented in osg::Thread, and osg::ExternalThread.

Definition at line 631 of file OSGBaseThread.h.

Referenced by osg::BaseThread::getClassType().

pthread_key_t BasePThreadBase::_threadKey [static, protected, inherited]

void* osg::BasePThreadBase::_pThreadData[3] [protected, inherited]

pthread_t* osg::BasePThreadBase::_pThreadDesc [protected, inherited]

pthread_cond_t* osg::BasePThreadBase::_pBlockCond [protected, inherited]

pthread_mutex_t* osg::BasePThreadBase::_pBlockMutex [protected, inherited]

Definition at line 100 of file OSGBaseThread.h.

Referenced by osg::BasePThreadBase::print().

bool osg::BaseThreadCommonBase::_bInitialized [protected, inherited]

Char8* osg::MPBase::_szName [protected, inherited]


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

Generated on Mon Mar 17 12:04:50 2008 for OpenSG by  doxygen 1.5.5