Ignore SIGPIPE in the mini-driver used by these tests.
authorJim Ingham <jingham@apple.com>
Wed, 21 Dec 2016 00:12:54 +0000 (00:12 +0000)
committerJim Ingham <jingham@apple.com>
Wed, 21 Dec 2016 00:12:54 +0000 (00:12 +0000)
We're seeing some very occasional failures in these tests where the
mini-driver dies with a SIGPIPE.  We don't use SIGPIPE for anything, and
the main lldb driver program already ignores SIGPIPE, so ignoring it in
the mini-driver is a good way to remove these spurious failures.

<rdar://problem/29740488>

llvm-svn: 290216

lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template

index adb1d20..f4bd021 100644 (file)
@@ -6,6 +6,9 @@
 #include <iterator>
 #include <string>
 #include <vector>
+#if !defined(_MSC_VER)
+  #include <signal.h>
+#endif
 
 %include_SB_APIs%
 
@@ -17,6 +20,13 @@ using namespace lldb;
 void test(SBDebugger &dbg, std::vector<string> args);
 
 int main(int argc, char** argv) {
+
+// Ignore SIGPIPE.  The lldb driver does this as well,
+// because we seem to get spurious SIGPIPES on some
+// Unixen that take the driver down.
+#if !defined(_MSC_VER)
+  signal(SIGPIPE, SIG_IGN);
+#endif
   int code = 0;
 
   SBDebugger::Initialize();