#include <OSGLock.h>

Class Specific | |
| Char8 * | _szName |
| static MPType | _type |
Public Member Functions | |
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 | |
Class Get | |
| static const MPType & | getStaticType (void) |
| static UInt32 | getStaticTypeId (void) |
Protected Types | |
| typedef LockCommonBase | Inherited |
Protected Member Functions | |
Constructors | |
| PThreadLockBase (void) | |
| PThreadLockBase (const Char8 *szName, UInt32 uiId) | |
Destructor | |
| virtual | ~PThreadLockBase (void) |
Construction | |
| bool | init (void) |
Destruction | |
| void | shutdown (void) |
Lock | |
| void | aquire (void) |
| void | release (void) |
| bool | request (void) |
Protected Attributes | |
| UInt32 | _uiLockId |
Private Member Functions | |
| PThreadLockBase (const PThreadLockBase &source) | |
| prohibit default function (move to 'public' if needed) | |
| void | operator= (const PThreadLockBase &source) |
| prohibit default function (move to 'public' if needed) | |
Private Attributes | |
| pthread_mutex_t | _pLowLevelLock |
Friends | |
| class | LockPool |
Definition at line 131 of file OSGLock.h.
typedef LockCommonBase osg::PThreadLockBase::Inherited [protected] |
| PThreadLockBase::PThreadLockBase | ( | void | ) | [protected] |
Definition at line 94 of file OSGLock.cpp.
00094 : 00095 Inherited (), 00096 _pLowLevelLock() 00097 { 00098 }
Definition at line 100 of file OSGLock.cpp.
00101 : 00102 Inherited (szName, uiId), 00103 _pLowLevelLock() 00104 { 00105 }
| PThreadLockBase::~PThreadLockBase | ( | void | ) | [protected, virtual] |
| osg::PThreadLockBase::PThreadLockBase | ( | const PThreadLockBase & | source | ) | [private] |
| bool PThreadLockBase::init | ( | void | ) | [protected] |
Definition at line 115 of file OSGLock.cpp.
References _pLowLevelLock.
Referenced by osg::Lock::create(), and osg::LockPool::init().
00116 { 00117 pthread_mutexattr_t lockAttr; 00118 00119 pthread_mutexattr_init(&lockAttr); 00120 00121 pthread_mutexattr_settype(&lockAttr, PTHREAD_MUTEX_RECURSIVE); 00122 00123 pthread_mutex_init(&(_pLowLevelLock), &lockAttr); 00124 00125 return true; 00126 }
| void PThreadLockBase::shutdown | ( | void | ) | [protected] |
Definition at line 130 of file OSGLock.cpp.
References _pLowLevelLock.
Referenced by osg::LockPool::shutdown(), and osg::Lock::~Lock().
00131 { 00132 pthread_mutex_destroy(&(_pLowLevelLock)); 00133 }
| void PThreadLockBase::aquire | ( | void | ) | [protected] |
Reimplemented in osg::Lock.
Definition at line 137 of file OSGLock.cpp.
References _pLowLevelLock.
Referenced by osg::Lock::aquire().
00138 { 00139 pthread_mutex_lock(&(_pLowLevelLock)); 00140 }
| void PThreadLockBase::release | ( | void | ) | [protected] |
Reimplemented in osg::Lock.
Definition at line 142 of file OSGLock.cpp.
References _pLowLevelLock.
Referenced by osg::Lock::release().
00143 { 00144 pthread_mutex_unlock(&(_pLowLevelLock)); 00145 }
| bool PThreadLockBase::request | ( | void | ) | [protected] |
Reimplemented in osg::Lock.
Definition at line 147 of file OSGLock.cpp.
References _pLowLevelLock.
Referenced by osg::Lock::request().
00148 { 00149 return (pthread_mutex_trylock(&(_pLowLevelLock)) != EBUSY); 00150 }
| void osg::PThreadLockBase::operator= | ( | const PThreadLockBase & | source | ) | [private] |
| 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] |
| 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().
| 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] |
Definition at line 64 of file OSGMemoryObject.cpp.
References osg::MemoryObject::_refCount.
Referenced by osg::SharedObjectHandler::getSharedObject(), and osg::SharedObjectHandler::initialize().
00065 { 00066 _refCount++; 00067 }
| void MemoryObject::subRef | ( | void | ) | [inherited] |
| Int32 MemoryObject::getRefCount | ( | void | ) | [inherited] |
Definition at line 77 of file OSGMemoryObject.cpp.
References osg::MemoryObject::_refCount.
00078 { 00079 return _refCount; 00080 }
friend class LockPool [friend] |
pthread_mutex_t osg::PThreadLockBase::_pLowLevelLock [private] |
UInt32 osg::LockCommonBase::_uiLockId [protected, inherited] |
MPType MPBase::_type [static, protected, inherited] |
Reimplemented in osg::Barrier, osg::BaseThread, osg::Lock, osg::LockPool, osg::Thread, and osg::ExternalThread.
Definition at line 405 of file OSGMPBase.h.
Referenced by osg::MPBase::getStaticType(), and osg::MPBase::getType().
Char8* osg::MPBase::_szName [protected, inherited] |
Definition at line 406 of file OSGMPBase.h.
Referenced by osg::MPBase::getCName(), osg::LockPool::init(), osg::MPBase::MPBase(), osg::BasePThreadBase::print(), and osg::MPBase::~MPBase().
1.5.5