Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Source/WTF/wtf/win/SignalsWin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,10 @@ LONG WINAPI vectoredHandler(struct _EXCEPTION_POINTERS *exceptionInfo)

PlatformRegisters& registers = *(exceptionInfo->ContextRecord);

long result = EXCEPTION_EXECUTE_HANDLER;
// A vectored handler may only return EXCEPTION_CONTINUE_EXECUTION or EXCEPTION_CONTINUE_SEARCH.
// Default to search so faults no handler claims proceed down the chain (e.g. to ASan's shadow
// committer) instead of looping on the faulting instruction; matches the POSIX/Mach NotHandled path.
long result = EXCEPTION_CONTINUE_SEARCH;
handlers.forEachHandler(signal, [&] (const SignalHandler& handler) {
switch (handler(signal, sigInfo, registers)) {
case SignalAction::Handled:
Expand Down
Loading