[Lldb-commits] [PATCH] D18287: Don't try to redefine the signal() function on Windows

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Fri Mar 18 16:26:26 PDT 2016


zturner added inline comments.

================
Comment at: tools/driver/Driver.cpp:1314
@@ -1313,1 +1313,3 @@
+    signal(SIGINT, sigint_handler);
+#ifndef _MSC_VER
     signal (SIGPIPE, SIG_IGN);
----------------
I think `_MSC_VER` is the right check, because the builtin `signal` implementation is something that is part of Visual Studio.  If you were using Cygwin I imagine some of those constants might be present (although tbh, I don't ever use Cygwin and I don't know if anyone else does either, so someone would need to confirm).

`_MSC_VER` is also defined for clang-cl, so this check would catch MSVC and clang-cl

================
Comment at: tools/driver/Platform.cpp:93-97
@@ -92,7 @@
-    {
-    case ( SIGINT ):
-        {
-            _ctrlHandler = sigFunc;
-            SetConsoleCtrlHandler( CtrlHandler, TRUE );
-        }
-        break;
----------------
Yes, because now `MIDriverMain.cpp` should end up calling the builtin version of `signal()`, which also calls `SetConsoleCtrlHandler`.  As far as I can tell there's no actual difference (technically, the builtin version is a strict superset of this version, so if anything it should be better)


http://reviews.llvm.org/D18287





More information about the lldb-commits mailing list