//------------------------------------------------------------------------------ // LockLooperTestCommon.h // //------------------------------------------------------------------------------ #ifndef LOCKLOOPERTESTCOMMON_H #define LOCKLOOPERTESTCOMMON_H // Standard Includes ----------------------------------------------------------- // System Includes ------------------------------------------------------------- #include // Project Includes ------------------------------------------------------------ // Local Includes -------------------------------------------------------------- // Local Defines --------------------------------------------------------------- // Globals --------------------------------------------------------------------- class BLooper; class TLockLooperInfo { public: TLockLooperInfo(BLooper* Looper) : fLooper(Looper) { // Create it "acquired" fThreadLock = create_sem(0, NULL); fTestLock = create_sem(0, NULL); } void LockTest() { acquire_sem(fTestLock); } void UnlockTest() { release_sem(fTestLock); } void LockThread() { acquire_sem(fThreadLock); } void UnlockThread() { release_sem(fThreadLock); } void UnlockLooper() { fLooper->Unlock(); } void LockLooper() { fLooper->Lock(); } private: BLooper* fLooper; sem_id fTestLock; sem_id fThreadLock; }; int32 LockLooperThreadFunc(void* data); #endif //LOCKLOOPERTESTCOMMON_H /* * $Log $ * * $Id $ * */