rpcsx/rpcs3/Emu/RSX/Core/RSXEngLock.hpp
2023-01-11 16:48:53 +03:00

32 lines
381 B
C++

#pragma once
#include <util/types.hpp>
#include "../RSXThread.h"
namespace rsx
{
class eng_lock
{
rsx::thread* pthr;
public:
eng_lock(rsx::thread* target)
:pthr(target)
{
if (pthr->is_current_thread())
{
pthr = nullptr;
}
else
{
pthr->pause();
}
}
~eng_lock()
{
if (pthr) pthr->unpause();
}
};
}