From 41495e5d2aa8ea94029c1dc1479798ccfa889ac0 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sun, 20 Jul 2014 21:05:48 +0400 Subject: [PATCH] sys_ppu_thread_exit fix --- rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.cpp | 20 ++++++++++++++++---- rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.h | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.cpp b/rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.cpp index f60e144710..a991acc993 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.cpp +++ b/rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.cpp @@ -10,12 +10,10 @@ extern Module *sysPrxForUser; -static const u32 PPU_THREAD_ID_INVALID = 0xFFFFFFFFU; +static const u32 PPU_THREAD_ID_INVALID = 0xFFFFFFFFU/*UUUUUUUUUUuuuuuuuuuu~~~~~~~~*/; -void sys_ppu_thread_exit(u64 errorcode) +void ppu_thread_exit(u64 errorcode) { - sysPrxForUser->Log("sys_ppu_thread_exit(0x%llx)", errorcode); - PPUThread& thr = GetCurrentPPUThread(); u32 tid = thr.GetId(); @@ -29,6 +27,20 @@ void sys_ppu_thread_exit(u64 errorcode) thr.Stop(); } +void sys_ppu_thread_exit(u64 errorcode) +{ + sysPrxForUser->Log("sys_ppu_thread_exit(0x%llx)", errorcode); + + ppu_thread_exit(errorcode); +} + +void sys_internal_ppu_thread_exit(u64 errorcode) +{ + sysPrxForUser->Log("sys_internal_ppu_thread_exit(0x%llx)", errorcode); + + ppu_thread_exit(errorcode); +} + s32 sys_ppu_thread_yield() { sysPrxForUser->Log("sys_ppu_thread_yield()"); diff --git a/rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.h b/rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.h index ef99ca6012..7918118e99 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.h +++ b/rpcs3/Emu/SysCalls/lv2/sys_ppu_thread.h @@ -14,6 +14,7 @@ enum ppu_thread_flags : u64 // SysCalls void sys_ppu_thread_exit(u64 errorcode); +void sys_internal_ppu_thread_exit(u64 errorcode); s32 sys_ppu_thread_yield(); s32 sys_ppu_thread_join(u64 thread_id, mem64_t vptr); s32 sys_ppu_thread_detach(u64 thread_id);