在 2026-5-31 18:11, Pali Rohár 写道:
SetThreadName_SEH handler should continue execution only from the first
error handler phase, not from second unwinding.
---
  mingw-w64-libraries/winpthreads/src/thread.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mingw-w64-libraries/winpthreads/src/thread.c 
b/mingw-w64-libraries/winpthreads/src/thread.c
index 3251c2cbb9c5..476370422fbf 100644
--- a/mingw-w64-libraries/winpthreads/src/thread.c
+++ b/mingw-w64-libraries/winpthreads/src/thread.c
@@ -91,7 +91,8 @@ SetThreadName_SEH (EXCEPTION_RECORD *ExceptionRecord, PVOID 
EstablisherFrame, CO
     * SEH handlers like this one return value from EXCEPTION_DISPOSITION enum 
which has CamelCase constants.
     * UPPER_CASE EXCEPTION_CONTINUE_SEARCH and CamelCase 
ExceptionContinueSearch are different constants.
     */
-  if (!(ExceptionRecord->ExceptionFlags & EXCEPTION_NONCONTINUABLE) &&
+  if (!(ExceptionRecord->ExceptionFlags & EXCEPTION_UNWINDING) &&
+      !(ExceptionRecord->ExceptionFlags & EXCEPTION_NONCONTINUABLE) &&
        ExceptionRecord->ExceptionCode == EXCEPTION_SET_THREAD_NAME)
      return ExceptionContinueExecution;

Thanks. This patch looks good to me. I have pushed it now.



--
Best regards,
LIU Hao

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to