mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 18:53:28 +01:00
Emu: Add more info to BlockingCallFromMainThread
This commit is contained in:
parent
efea3aa385
commit
8a87dc63b1
@ -179,7 +179,7 @@ void Emulator::CallFromMainThread(std::function<void()>&& func, atomic_t<u32>* w
|
|||||||
m_cb.call_from_main_thread(std::move(final_func), wake_up);
|
m_cb.call_from_main_thread(std::move(final_func), wake_up);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Emulator::BlockingCallFromMainThread(std::function<void()>&& func) const
|
void Emulator::BlockingCallFromMainThread(std::function<void()>&& func, u32 line, u32 col, const char* file, const char* fun) const
|
||||||
{
|
{
|
||||||
atomic_t<u32> wake_up = 0;
|
atomic_t<u32> wake_up = 0;
|
||||||
|
|
||||||
@ -187,7 +187,10 @@ void Emulator::BlockingCallFromMainThread(std::function<void()>&& func) const
|
|||||||
|
|
||||||
while (!wake_up)
|
while (!wake_up)
|
||||||
{
|
{
|
||||||
ensure(thread_ctrl::get_current());
|
if (!thread_ctrl::get_current())
|
||||||
|
{
|
||||||
|
fmt::throw_exception("Current thread null while calling BlockingCallFromMainThread from %s", src_loc{line, col, file, fun});
|
||||||
|
}
|
||||||
wake_up.wait(0);
|
wake_up.wait(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,7 +185,11 @@ public:
|
|||||||
void CallFromMainThread(std::function<void()>&& func, atomic_t<u32>* wake_up = nullptr, bool track_emu_state = true, u64 stop_ctr = umax) const;
|
void CallFromMainThread(std::function<void()>&& func, atomic_t<u32>* wake_up = nullptr, bool track_emu_state = true, u64 stop_ctr = umax) const;
|
||||||
|
|
||||||
// Blocking call from the GUI thread
|
// Blocking call from the GUI thread
|
||||||
void BlockingCallFromMainThread(std::function<void()>&& func) const;
|
void BlockingCallFromMainThread(std::function<void()>&& func,
|
||||||
|
u32 line = __builtin_LINE(),
|
||||||
|
u32 col = __builtin_COLUMN(),
|
||||||
|
const char* file = __builtin_FILE(),
|
||||||
|
const char* fun = __builtin_FUNCTION()) const;
|
||||||
|
|
||||||
enum class stop_counter_t : u64{};
|
enum class stop_counter_t : u64{};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user