osg::Thread Class Reference
[Multithreading]

#include <OSGThread.h>

Inheritance diagram for osg::Thread:

osg::PThreadBase osg::ThreadCommonBase osg::BaseThread osg::BasePThreadBase osg::BaseThreadCommonBase osg::MPBase osg::MemoryObject

List of all members.

Public Types

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

Public Member Functions

bool isInitialized (void)
Run


void run (UInt32 uiAspectId)
Run


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


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


ChangeListgetChangeList (void)
Blocking


void block (void)
void unblock (void)
Helper


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


void print (void)
Get


virtual MPTypegetType (void)
virtual const MPTypegetType (void) const
UInt32 getTypeId (void)
const Char8getCName (void) const
Reference Counting


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

Static Public Member Functions

Get


static PthreadBasegetCurrent (void)
static Threadget (const Char8 *szName)
static Threadfind (const Char8 *szName)
Get


static UInt32 getAspect (void)
static ChangeListgetCurrentChangeList (void)
Get


static BaseThreadcreate (void)
static const MPThreadTypegetClassType (void)
Join


static void join (BaseThread *pThread)
Class Get


static const MPTypegetStaticType (void)
static UInt32 getStaticTypeId (void)

Static Public Attributes

static const UInt32 InvalidAspect

Protected Types

typedef PthreadBase Inherited

Protected Member Functions

Constructors


 Thread (const Char8 *szName, UInt32 uiId)
Destructor


virtual ~Thread (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

Init


static Threadcreate (const Char8 *szName, UInt32 uiId)
static void initThreading (void)
Free


static void freeAspect (void *pAspect)
static void freeChangeList (void *pChangeList)
Join


static void join (BasePThreadBase *threadP)
Class Specific


static void runWorkProc (void *pThread)
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 pthread_key_t _threadKey
Member


static MPThreadType _type
Member


static pthread_key_t _aspectKey
static pthread_key_t _changeListKey

Private Member Functions

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

Friends

class ThreadManager
class MPFieldStore< BaseThread >


Detailed Description

Definition at line 466 of file OSGThread.h.


Member Typedef Documentation

typedef PthreadBase osg::Thread::Inherited [protected]

Reimplemented from osg::PThreadBase.

Definition at line 472 of file OSGThread.h.

Reimplemented from osg::BaseThread.

Definition at line 478 of file OSGThread.h.

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


Constructor & Destructor Documentation

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

Definition at line 648 of file OSGThread.cpp.

Referenced by create().

00648                                                :
00649     Inherited(szName, uiId)
00650 {
00651 }

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

Definition at line 656 of file OSGThread.cpp.

00657 {
00658 }

osg::Thread::Thread ( const Thread source  )  [private]


Member Function Documentation

PthreadBase * Thread::getCurrent ( void   )  [static]

Reimplemented from osg::BaseThread.

Definition at line 580 of file OSGThread.cpp.

References osg::Directory::getCurrent().

00581 {
00582     return static_cast<ThreadBase *>(Inherited::getCurrent());
00583 }

Thread * Thread::get ( const Char8 szName  )  [static]

Reimplemented from osg::BaseThread.

Definition at line 585 of file OSGThread.cpp.

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

00586 {
00587     BaseThread *pThread = ThreadManager::the()->getThread(szName, "OSGThread");
00588 
00589     return dynamic_cast<Thread *>(pThread);
00590 }

Thread * Thread::find ( const Char8 szName  )  [static]

Reimplemented from osg::BaseThread.

Definition at line 592 of file OSGThread.cpp.

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

Referenced by osg::SceneFileHandler::initReadProgress(), and osg::SceneFileHandler::terminateReadProgress().

00593 {
00594     BaseThread *pThread = ThreadManager::the()->findThread(szName);
00595 
00596     return dynamic_cast<Thread *>(pThread);
00597 }

void Thread::run ( UInt32  uiAspectId  ) 

Definition at line 599 of file OSGThread.cpp.

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

00600 {
00601     Inherited::runFunction(runWorkProc, uiAspectId, this);
00602 }

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

Reimplemented from osg::BaseThread.

Definition at line 607 of file OSGThread.cpp.

References Thread().

00608 {
00609     return new Thread(szName, uiId);
00610 }

void Thread::initThreading ( void   )  [static, protected]

Reimplemented from osg::BaseThread.

Definition at line 612 of file OSGThread.cpp.

References osg::PThreadBase::_aspectKey, osg::PThreadBase::_changeListKey, FFASSERT, FINFO, osg::PThreadBase::freeAspect(), osg::PThreadBase::freeChangeList(), and osg::ThreadManager::setAppThreadType().

00613 {
00614     FINFO(("Thread::initThreading\n"))
00615 
00616 #if defined(OSG_USE_PTHREADS) && !defined(OSG_PTHREAD_ELF_TLS)
00617     int rc; 
00618 
00619     rc = pthread_key_create(&(Thread::_aspectKey), 
00620                               Thread::freeAspect);
00621 
00622     FFASSERT((rc == 0), 1, ("Failed to create pthread aspect key\n");)
00623 
00624     rc = pthread_key_create(&(Thread::_changeListKey), 
00625                               Thread::freeChangeList);
00626 
00627     FFASSERT((rc == 0), 1, ("Failed to create pthread changelist key\n");)
00628 #endif
00629 
00630 #if defined(OSG_USE_WINTHREADS) && defined(OSG_ASPECT_USE_LOCALSTORAGE)       
00631     Thread::_aspectKey     = TlsAlloc();
00632 
00633     FFASSERT((Thread::_aspectKey != 0xFFFFFFFF), 1, 
00634              ("Failed to alloc aspect key local storage\n");)
00635 
00636     Thread::_changeListKey = TlsAlloc();
00637 
00638     FFASSERT((Thread::_changeListKey != 0xFFFFFFFF), 1, 
00639              ("Failed to alloc changelist key local storage\n");)
00640 #endif
00641 
00642     ThreadManager::setAppThreadType("OSGThread");
00643 }

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

UInt32 PThreadBase::getAspect ( void   )  [static, inherited]

Definition at line 133 of file OSGThread.cpp.

References osg::PThreadBase::_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, inherited]

Definition at line 147 of file OSGThread.cpp.

References osg::PThreadBase::_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 
) [inherited]

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

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 osg::PThreadBase::runFunction().

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

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

Definition at line 184 of file OSGThread.cpp.

Referenced by 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, inherited]

Definition at line 192 of file OSGThread.cpp.

Referenced by 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, inherited]

Reimplemented from osg::BasePThreadBase.

Definition at line 220 of file OSGThread.cpp.

References osg::BaseThreadCommonBase::_bInitialized, init(), osg::PThreadBase::setupAspect(), and osg::PThreadBase::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, inherited]

Definition at line 235 of file OSGThread.cpp.

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

Referenced by osg::PThreadBase::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, inherited]

Definition at line 249 of file OSGThread.cpp.

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

Referenced by osg::PThreadBase::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 }

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 osg::PThreadBase::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 osg::PThreadBase::setupChangeList().

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

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 }

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 }

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 }

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::runWorkProc ( void *  pThread  )  [static, protected, inherited]

Definition at line 865 of file OSGBaseThread.cpp.

References osg::BaseThread::workProc().

Referenced by 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::PThreadBase.

Definition at line 535 of file OSGThread.h.

friend class MPFieldStore< BaseThread > [friend]

Reimplemented from osg::BaseThread.

Definition at line 536 of file OSGThread.h.


Member Data Documentation

MPThreadType Thread::_type [static, protected]

Reimplemented from osg::BaseThread.

Definition at line 505 of file OSGThread.h.

pthread_key_t PThreadBase::_aspectKey [static, protected, inherited]

pthread_key_t PThreadBase::_changeListKey [static, protected, inherited]

const UInt32 ThreadCommonBase::InvalidAspect [static, inherited]

Initial value:

Definition at line 96 of file OSGThread.h.

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:51 2008 for OpenSG by  doxygen 1.5.5