AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
lockimpl.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef AJA_LOCK_IMPL_H
9 #define AJA_LOCK_IMPL_H
10 
11 #include <pthread.h>
12 //#include <semaphore.h>
13 #include "ajabase/system/system.h"
14 #include "ajabase/common/common.h"
15 #include "ajabase/system/lock.h"
16 
17 
19 {
20 public:
21 
22  AJALockImpl(const char* pName);
23  virtual ~AJALockImpl();
24 
25  AJAStatus Lock(uint32_t uTimeout = 0xffffffff);
26  AJAStatus Unlock();
27 
28 private:
29  const char* mName;
30  pthread_t mOwner;
31  int mRefCount;
32  pthread_mutex_t mMutex; // For protecting the member variables
33 };
34 
35 #endif // AJA_LOCK_IMPL_H
36 
AJALockImpl::~AJALockImpl
virtual ~AJALockImpl()
Definition: lockimpl.cpp:72
AJALockImpl::Unlock
AJAStatus Unlock()
Definition: lockimpl.cpp:143
AJALockImpl
Definition: lockimpl.h:18
AJAStatus
AJAStatus
Definition: types.h:378
lock.h
Declares the AJALock class.
AJALockImpl::Lock
AJAStatus Lock(uint32_t uTimeout=0xffffffff)
Definition: lockimpl.cpp:87
system.h
System specific functions.
common.h
Private include file for all ajabase sources.
AJALockImpl::AJALockImpl
AJALockImpl(const char *pName)
Definition: lockimpl.cpp:20