File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change 5050#include " llvm/TargetParser/Host.h"
5151#include " llvm/TargetParser/Triple.h"
5252
53+ #include < csignal>
5354#include < memory>
5455#include < stdlib.h>
5556
@@ -460,6 +461,11 @@ int swift::mainEntry(int argc_, const char **argv_) {
460461 llvm::transform (utf8Args, std::back_inserter (utf8CStrs),
461462 std::mem_fn (&std::string::c_str));
462463 argv_ = utf8CStrs.data ();
464+ #else
465+ // Set SIGINT to the default handler, ensuring we exit. This needs to be set
466+ // before PROGRAM_START/INITIALIZE_LLVM since LLVM will set its own signal
467+ // handler that does some cleanup before delegating to the original handler.
468+ std::signal (SIGINT, SIG_DFL);
463469#endif
464470 // Expand any response files in the command line argument vector - arguments
465471 // may be passed through response files in the event of command line length
You can’t perform that action at this time.
0 commit comments