Remove threads from semaphores when they timeout.

This makes wait tests *almost* pass.  There's some timing
related issues left, though.
This commit is contained in:
Unknown W. Brackets committed 2012-11-20 02:20:15 -08:00
1 parent fd41851503
commit 619a9906de
4 files changed
+33 -2

No files matched your search

+15 -1
View File
@@ -402,7 +402,21 @@ u32 __KernelGetWaitTimeoutPtr(SceUID threadID, u32 &error)
}
else
{
ERROR_LOG(HLE, "__KernelGetWaitValue ERROR: thread %i", threadID);
ERROR_LOG(HLE, "__KernelGetWaitTimeoutPtr ERROR: thread %i", threadID);
return 0;
}
}
SceUID __KernelGetWaitID(SceUID threadID, u32 &error)
{
Thread *t = kernelObjects.Get<Thread>(threadID, error);
if (t)
{
return t->nt.waitID;
}
else
{
ERROR_LOG(HLE, "__KernelGetWaitID ERROR: thread %i", threadID);
return 0;
}
}