fix(import-guard): recognize polling progress boundaries (#895)

This commit is contained in:
Mathias 2026-09-21 18:56:05 +02:00 committed by GitHub
parent cff4a167a6
commit ea943c1281
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 2 deletions

View File

@ -1862,6 +1862,7 @@ public sealed partial class DirectExecutionBackend
private static bool IsImportLoopGuardBoundary(string nid) =>
nid is
"1jfXLRVzisc" or // sceKernelUsleep
"1j3S3n-tTW4" or // sceKernelGetTscFrequency (polling/time base query)
"WKAXJ4XBPQ4" or // scePthreadCondWait
"BmMjYxmew1w" or // scePthreadCondTimedwait
"Op8TBGY5KHg" or // pthread_cond_wait
@ -1870,7 +1871,8 @@ public sealed partial class DirectExecutionBackend
"lLMT9vJAck0" or // clock_gettime
"-2IRUCO--PM" or // sceKernelReadTsc
"4J2sUJmuHZQ" or // sceKernelGetProcessTime
"fgxnMeTNUtY"; // sceKernelGetProcessTimeCounter
"fgxnMeTNUtY" or // sceKernelGetProcessTimeCounter
"yH17Q6NWtVg"; // sceUserServiceGetEvent (non-blocking event poll)
private void ResetImportLoopPattern()
{

View File

@ -30,11 +30,13 @@ public sealed class ImportLoopGuardBoundaryTests
[Theory]
[InlineData("1jfXLRVzisc")]
[InlineData("1j3S3n-tTW4")]
[InlineData("WKAXJ4XBPQ4")]
[InlineData("BmMjYxmew1w")]
[InlineData("Op8TBGY5KHg")]
[InlineData("27bAgiJmOh0")]
public void ExistingWait_ClearsExpiredHistory(string nid)
[InlineData("yH17Q6NWtVg")]
public void ProgressBoundary_ClearsExpiredHistory(string nid)
{
AssertBoundaryClearsExpiredHistory(nid);
}