-
Notifications
You must be signed in to change notification settings - Fork 243
Commit 238572a
authored
Rollup merge of #143651 - Fulgen301:seh-exception-ptr, r=ChrisDenton
Win: Use exceptions with empty data for SEH panic exception copies instead of a new panic
For unwinding with SEH, we currently construct a C++ exception with the panic data. Being a regular C++ exception, it interacts with the C++ exception handling machinery and can be retrieved via `std::current_exception`, which needs to copy the exception. We can't support that, so we panic, which throws another exception, which the C++ runtime tries to copy and store into the exception_ptr, which panics again, which causes the C++ runtime to store a `bad_exception` instance.
However, this doesn't work because the panics thrown by the copy function will be dropped without being rethrown, and causes unnecessary log spam in stderr. Fix this by directly throwing an exception without data, which doesn't cause log spam and can be dropped without being rethrown.
Fixes rust-lang/rust#143623.
This also happens to be the solution ``@dpaoliello`` suggested, though I'm not sure how to handle the commit credit attribution.File tree
Expand file treeCollapse file tree
0 file changed
+0
-0
lines changedFilter options
Expand file treeCollapse file tree
0 file changed
+0
-0
lines changed
0 commit comments