Files

42 lines
446 B
C++

#pragma once
#include "pin.H"
/*!
* A locker class.
*/
class PinLocker
{
public:
PinLocker()
{
PIN_LockClient();
}
~PinLocker()
{
PIN_UnlockClient();
}
};
//---
class PinDataLock
{
public:
PinDataLock(PIN_LOCK* lock)
: m_lock(lock)
{
PIN_GetLock(m_lock, PIN_GetTid());
}
~PinDataLock()
{
PIN_ReleaseLock(m_lock);
}
private:
PIN_LOCK* m_lock;
};