mirror of
https://github.com/hasherezade/tiny_tracer
synced 2026-06-08 14:36:37 +00:00
42 lines
446 B
C++
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;
|
|
};
|
|
|