[coop] fix coop suspend timeout cue card (#70828)
the BLOCKING_SUSPEND_REQUESTED state is treated as suspend in full coop mode (the thread keeps running, but by definition it's not allowed to access managed resources and it will self-suspend if it tries to enter GC Unsafe mode by calling a runtime API or managed code). It is bad in hybrid suspend mode (the thread should be preemptively suspended, but we timed out before the signal handler had a chance to run). The corresponding suspension logic in the code is: https://github.com/dotnet/runtime/blob/3fc61ebb562afc327a8fc6de5c82d76e86bf6f5d/src/mono/mono/utils/mono-threads.c#L1149-L1158
Showing
想要评论请 注册 或 登录