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;
--
2.20.1
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public