Add missing lv2_obj::sleep when joining interrupt thread

This commit is contained in:
Eladash 2020-03-15 12:49:37 +02:00 committed by Ivan
parent 7e224c5585
commit 3566faabd9
2 changed files with 3 additions and 0 deletions

View File

@ -150,6 +150,8 @@ error_code _sys_interrupt_thread_disestablish(ppu_thread& ppu, u32 ih, vm::ptr<u
return CELL_ESRCH; return CELL_ESRCH;
} }
lv2_obj::sleep(ppu);
// Wait for sys_interrupt_thread_eoi() and destroy interrupt thread // Wait for sys_interrupt_thread_eoi() and destroy interrupt thread
handler->join(); handler->join();

View File

@ -1715,6 +1715,7 @@ error_code sys_raw_spu_destroy(ppu_thread& ppu, u32 id)
if (auto handler = tag->handler.lock()) if (auto handler = tag->handler.lock())
{ {
// SLEEP // SLEEP
lv2_obj::sleep(ppu);
handler->join(); handler->join();
to_remove.emplace_back(std::move(handler), 0); to_remove.emplace_back(std::move(handler), 0);
} }