mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Callbacks: Deliver to other threads by priority, fix sceKernelCancelCallback
Verified against pspautotests threads/callbacks/delivery: - Notifying the callback of a better priority thread in a CB wait runs it right away. Callbacks of other waiting threads stay pending until those threads would get to run, rather than being taken at any reschedule, so they can still be counted or canceled. - sceKernelCancelCallback clears the notify count, not just the arg. threads/callbacks/cancel, count and umd/wait/wait now pass. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
3bf8b5b5c9
commit
acd2738b7a
3 files changed
+23
-4
No files matched your search
@@ -311,9 +311,12 @@ tests_good = [
|
||||
"threads/alarm/set/set",
|
||||
"threads/callbacks/afterwait",
|
||||
"threads/callbacks/callbacks",
|
||||
"threads/callbacks/cancel",
|
||||
"threads/callbacks/check",
|
||||
"threads/callbacks/count",
|
||||
"threads/callbacks/create",
|
||||
"threads/callbacks/delete",
|
||||
"threads/callbacks/delivery",
|
||||
"threads/callbacks/exit",
|
||||
"threads/callbacks/nested",
|
||||
"threads/callbacks/notify",
|
||||
@@ -441,6 +444,7 @@ tests_good = [
|
||||
"utility/savedata/makedata",
|
||||
"utility/systemparam/systemparam",
|
||||
"umd/callbacks/umd",
|
||||
"umd/wait/wait",
|
||||
"umd/register",
|
||||
"video/mpeg/ringbuffer/avail",
|
||||
"video/mpeg/ringbuffer/construct",
|
||||
@@ -581,8 +585,6 @@ tests_next = [
|
||||
"net/primary/ether",
|
||||
"power/freq",
|
||||
"sysmem/partition",
|
||||
"threads/callbacks/cancel",
|
||||
"threads/callbacks/count",
|
||||
# These two mbx tests only appeared to work because they papered over bugs
|
||||
|
||||
|
||||
@@ -594,7 +596,6 @@ tests_next = [
|
||||
"threads/vpl/create",
|
||||
"umd/io/umd_io",
|
||||
"umd/raw_access/raw_access",
|
||||
"umd/wait/wait",
|
||||
"utility/msgdialog/dialog",
|
||||
"utility/savedata/idlist",
|
||||
# These tests appear to be broken and just hang.
|
||||
|
||||
Reference in new issue
Block a user