On Wed, 25 Jun 2025 13:43:26 +0200 Corinna Vinschen wrote: > One last question. > > On Jun 25 20:04, Takashi Yano wrote: > > After the commit f305ca916ad2, some stress-ng tests fail in arm64 > > windows. There seems to be two causes for this issue. One is that > > calling SuspendThread(GetCurrentThread()) may suspend myself in > > the kernel. Branching to sigdelayed in the kernel code does not > > work as expected as the original _cygtls::interrup_now() intended. > > The other cause is, single step exception sometimes does not trigger > > exception::handle() for some reason. Therefore, register vectored > > exception handler (VEH) and use it for single step exception instead. > > [...] > > + while (!in_singlestep_handler) > > + RtlWaitOnAddress (&in_singlestep_handler, &bool_false, > > + sizeof (bool), NULL); > > Is there *any* situation thinkable which would make this loop run > forever? I.e., a situation where the VEH doesn't start? And, > would we even have a way to handle that?
I cannot image such situation, but, yes, it is safer to use timeout and error handling. Please check v4 patch. -- Takashi Yano <[email protected]>
