On Jun 25 19:58, Takashi Yano wrote: > On Tue, 24 Jun 2025 10:02:08 +0200 > Corinna Vinschen wrote: > > Hi Takashi, > > > > On Jun 24 05:56, 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. > > > > Patch LGTM, except that we have to link against another DLL now. > > I searched for another way and it turns out there are equivalent > > Rtl functions RtlWaitOnAddress/RtlWakeAddressSingle in ntdll.dll. > > > > I pasted my tweak to your patch below, hope that's ok with you. > > Thanks! > > I tested your tweaked patch, and it works as expected.
Great, thanks! > One thing I do not understand is, what is the last argument > of RtlWaitOnAddress()? Is there any document about that? It's the timeout value. The same thing as with NtCreateTimer. Compare with https://sourceware.org/cgit/newlib-cygwin/tree/winsup/cygwin/local_includes/cygwait.h#n36 Documentation is... rare. Very unfortunate. Corinna
