mirror of
https://github.com/libretro/ppsspp.git
synced 2025-02-27 03:55:42 +00:00
Quick and dirty attempt to delay loadmodule.
This commit is contained in:
parent
6adb6762f2
commit
db52d3d43c
@ -621,8 +621,8 @@ const HLEFunction ThreadManForUser[] =
|
||||
{0x9fa03cd3,WrapI_I<sceKernelDeleteThread>,"sceKernelDeleteThread"},
|
||||
{0xBD123D9E,sceKernelDelaySysClockThread,"sceKernelDelaySysClockThread"},
|
||||
{0x1181E963,sceKernelDelaySysClockThreadCB,"sceKernelDelaySysClockThreadCB"},
|
||||
{0xceadeb47,sceKernelDelayThread,"sceKernelDelayThread"},
|
||||
{0x68da9e36,sceKernelDelayThreadCB,"sceKernelDelayThreadCB"},
|
||||
{0xceadeb47,WrapI_U<sceKernelDelayThread>,"sceKernelDelayThread"},
|
||||
{0x68da9e36,WrapI_U<sceKernelDelayThreadCB>,"sceKernelDelayThreadCB"},
|
||||
{0xaa73c935,sceKernelExitThread,"sceKernelExitThread"},
|
||||
{0x809ce29b,sceKernelExitDeleteThread,"sceKernelExitDeleteThread"},
|
||||
{0x94aa61ee,sceKernelGetThreadCurrentPriority,"sceKernelGetThreadCurrentPriority"},
|
||||
|
@ -1852,26 +1852,26 @@ void sceKernelChangeThreadPriority()
|
||||
}
|
||||
}
|
||||
|
||||
void sceKernelDelayThreadCB()
|
||||
int sceKernelDelayThreadCB(u32 usec)
|
||||
{
|
||||
u32 usec = PARAM(0);
|
||||
if (usec < 200) usec = 200;
|
||||
DEBUG_LOG(HLE,"sceKernelDelayThreadCB(%i usec)",usec);
|
||||
|
||||
SceUID curThread = __KernelGetCurThread();
|
||||
__KernelScheduleWakeup(curThread, usec);
|
||||
__KernelWaitCurThread(WAITTYPE_DELAY, curThread, 0, 0, true, "thread delayed");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sceKernelDelayThread()
|
||||
int sceKernelDelayThread(u32 usec)
|
||||
{
|
||||
u32 usec = PARAM(0);
|
||||
if (usec < 200) usec = 200;
|
||||
DEBUG_LOG(HLE,"sceKernelDelayThread(%i usec)",usec);
|
||||
|
||||
SceUID curThread = __KernelGetCurThread();
|
||||
__KernelScheduleWakeup(curThread, usec);
|
||||
__KernelWaitCurThread(WAITTYPE_DELAY, curThread, 0, 0, false, "thread delayed");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sceKernelDelaySysClockThreadCB()
|
||||
|
@ -28,8 +28,8 @@
|
||||
void sceKernelChangeThreadPriority();
|
||||
int __KernelCreateThread(const char *threadName, SceUID moduleID, u32 entry, u32 prio, int stacksize, u32 attr, u32 optionAddr);
|
||||
int sceKernelCreateThread(const char *threadName, u32 entry, u32 prio, int stacksize, u32 attr, u32 optionAddr);
|
||||
void sceKernelDelayThread();
|
||||
void sceKernelDelayThreadCB();
|
||||
int sceKernelDelayThread(u32 usec);
|
||||
int sceKernelDelayThreadCB(u32 usec);
|
||||
void sceKernelDelaySysClockThread();
|
||||
void sceKernelDelaySysClockThreadCB();
|
||||
int sceKernelDeleteThread(int threadHandle);
|
||||
|
@ -105,7 +105,8 @@ u32 sceUtilityUnloadAvModule(u32 module)
|
||||
u32 sceUtilityLoadModule(u32 module)
|
||||
{
|
||||
DEBUG_LOG(HLE,"sceUtilityLoadModule(%i)", module);
|
||||
hleReSchedule("utilityloadmodule");
|
||||
sceKernelDelayThread(500);
|
||||
//hleReSchedule("utilityloadmodule");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user