Unknown W. Brackets
dd3db71b61
Forget mutex waiting threads when they timeout.
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
fd41851503
Implement timeouts on semaphores too.
2012-11-20 02:20:14 -08:00
Unknown W. Brackets
4d71e32193
Update the value when mutexes timeout.
2012-11-20 02:20:14 -08:00
Unknown W. Brackets
aad7e48a1a
Oops, turns out mutex timeouts are in micro.
...
Found it documented as milli somewhere, but it was wrong.
2012-11-20 02:20:14 -08:00
Unknown W. Brackets
d88fa153b7
Implement timeouts on mutexes.
...
Still need to set timeoutPtr after they expire.
Pretty sure I did this the right way, seems CoreTiming does already
allow/use multiple events for the same type?
2012-11-20 02:20:13 -08:00
Unknown W. Brackets
7b9a8bf766
Minor correctness on create mutex.
2012-11-20 02:20:12 -08:00
Unknown W. Brackets
7fa388952e
Refactor mutex locking to simplify.
2012-11-20 02:20:12 -08:00
Unknown W. Brackets
0681c8e5c5
Add overflow error to mutex locking.
2012-11-20 02:20:12 -08:00
Unknown W. Brackets
2290397b94
sceKernelTryLockMutex() and fix other locking.
2012-11-20 02:19:21 -08:00
Unknown W. Brackets
4bfa24eca8
Fix sceKernelCreateMutex() to match tests.
...
Still have an issue where reusing threads doesn't work.
2012-11-20 02:19:21 -08:00
Unknown W. Brackets
a539580195
Reschedule after acquiring a lock.
...
This matches the actual test results.
2012-11-20 02:19:20 -08:00
Unknown W. Brackets
2613ed8806
Cleanup mutex func types.
...
Looks like mutexes reschedule when they lock, so switch to void.
2012-11-20 02:19:20 -08:00
Unknown W. Brackets
429ac9de87
Oops, CreateMutex was missing a parameter.
2012-11-20 02:19:19 -08:00
Unknown W. Brackets
4bab714db5
Mutexes go in FIFO order as expected.
...
The test was wrong.
2012-11-20 02:19:19 -08:00
Unknown W. Brackets
4cddd3092a
Implement basic locking for sceKernel mutexes.
...
Test still not passing, due to odd order the mutex is unlocked in?
But, at least, it does lock now.
2012-11-20 02:19:19 -08:00
Henrik Rydgard
aea0580297
More reworking of Callbacks, plus some other little fixes.
2012-11-07 15:44:48 +01:00
Henrik Rydgard
83fb5e96de
Logging, stubs and fixes
2012-11-06 20:56:19 +01:00
Henrik Rydgard
64cc573703
Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK.
2012-11-04 23:24:00 +01:00
Henrik Rydgard
4f7ad15758
Add snapshot of the whole source code.
2012-11-01 16:19:01 +01:00