Unknown W. Brackets
|
48c5efd0c2
|
Match hw timing of mutex/sema timeouts better.
Affects some tests passing/not passing due to minor timing issues, ugh.
|
2012-11-30 22:58:42 -08:00 |
|
Unknown W. Brackets
|
7164638799
|
Allow semaphores with waiters to signal.
If the max is 1, but there's 1 waiting, it's okay to signal 2.
Really, the final result is what matters.
|
2012-11-30 22:58:41 -08:00 |
|
Unknown W. Brackets
|
3ab41e515d
|
Mutexes and semaphores don't always reschedule.
It's just the normal rescheduling happening. Previous tests weren't
correct.
Also some minor cleanup.
|
2012-11-30 22:58:41 -08:00 |
|
Ced2911
|
6db4ea2ad1
|
less Memory::GetPointer
|
2012-11-27 10:18:36 +01:00 |
|
Unknown W. Brackets
|
d3f2d9d10b
|
Use u64 here to avoid warnings, better precision.
The timeout value is u32 anyway, so an int was already a loss.
|
2012-11-22 16:40:26 -08:00 |
|
Unknown W. Brackets
|
b71d998a20
|
Broadcast a threadend event to wake mutexes.
|
2012-11-20 02:20:16 -08:00 |
|
Unknown W. Brackets
|
8da2fb074c
|
For mutexes/semaphores, register a global timer.
Instead of leaking one per each. Should be faster.
Since we can only wait on one thing per thread at a time, this is fine.
|
2012-11-20 02:20:16 -08:00 |
|
Unknown W. Brackets
|
a81c138004
|
Create and Delete LwMutex funcs.
|
2012-11-20 02:20:15 -08:00 |
|
Unknown W. Brackets
|
619a9906de
|
Remove threads from semaphores when they timeout.
This makes wait tests *almost* pass. There's some timing
related issues left, though.
|
2012-11-20 02:20:15 -08:00 |
|
Unknown W. Brackets
|
fd41851503
|
Implement timeouts on semaphores too.
|
2012-11-20 02:20:14 -08:00 |
|
Unknown W. Brackets
|
40a6ebfabe
|
Fix sceKernelCancelSema() to handle any negative.
So the test isn't failing.
|
2012-11-20 02:19:21 -08:00 |
|
Unknown W. Brackets
|
157858819b
|
Additional semaphore fixes with updated tests.
|
2012-11-17 01:43:01 -08:00 |
|
Unknown W. Brackets
|
2e9e61dfc6
|
CancelSema: adjust scheduling to match PSP.
|
2012-11-16 01:50:26 -08:00 |
|
Unknown W. Brackets
|
8517fbe761
|
PollSema: don't allow values <= 0.
|
2012-11-16 01:41:54 -08:00 |
|
Unknown W. Brackets
|
71e57043e8
|
SignalSema: throw an error on overflow.
This is what the PSP does.
|
2012-11-16 01:32:00 -08:00 |
|
Unknown W. Brackets
|
dd14450424
|
CreateSema: Truncate and validate like the PSP.
|
2012-11-16 01:26:04 -08:00 |
|
Unknown W. Brackets
|
0ab19c18e5
|
Wrap sceKernelCreateSema().
|
2012-11-16 00:06:44 -08:00 |
|
Unknown W. Brackets
|
4191d40187
|
Add notes about PRIORITY attribute.
Not supported yet.
|
2012-11-15 23:55:23 -08:00 |
|
Unknown W. Brackets
|
306274ffdf
|
Fix iterator in sceKernelSignalSema().
I'm sure we dont' want to change s.
|
2012-11-14 07:42:21 -08:00 |
|
Unknown W. Brackets
|
5c69d6169f
|
Use WriteStruct() in sceKernelReferSemaStatus().
|
2012-11-14 00:13:17 -08:00 |
|
Unknown W. Brackets
|
f37dd7fefe
|
Fix $v0 on wrong thread in semaphore funcs.
Need to RETURN() prior to switching threads or it will write to the
wrong thread, oops.
|
2012-11-12 07:24:40 -08:00 |
|
Unknown W. Brackets
|
33559d23db
|
sceKernelDeleteSema() not returning 0?
Seems to be a bug outside this func, adding a comment at least.
|
2012-11-11 19:03:37 -08:00 |
|
Unknown W. Brackets
|
b58032039b
|
Cleanup sceKernel semaphore funcs.
Remove some duplication of code so it's cleaner.
|
2012-11-11 18:54:06 -08:00 |
|
Unknown W. Brackets
|
a69fd56573
|
Implement sceKernelCancelSema() based on jpcsp.
Don't have any tests/users, but this jpcsp's behavior seems sane.
|
2012-11-11 18:33:13 -08:00 |
|
Unknown W. Brackets
|
e7b6487c4e
|
Wrap sceKernel DeleteSema and CancelSema.
Also fix copy/paste mistake from SignalSema func.
|
2012-11-11 18:30:13 -08:00 |
|