Add a new watchdog timer interface. The interface does not permit handling timeouts, so

it's only really useful if you're going to crash anyways. Use it in the pretty stack trace
printer to kill the compiler if we hang while printing the stack trace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177962 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nick Lewycky
2013-03-26 01:27:52 +00:00
parent bd3148b285
commit d5e1be03ed
6 changed files with 124 additions and 1 deletions
+23
View File
@@ -0,0 +1,23 @@
//===---- Watchdog.cpp - Implement Watchdog ---------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file implements the Watchdog class.
//
//===----------------------------------------------------------------------===//
#include "llvm/Support/Watchdog.h"
#include "llvm/Config/config.h"
// Include the platform-specific parts of this class.
#ifdef LLVM_ON_UNIX
#include "Unix/Watchdog.inc"
#endif
#ifdef LLVM_ON_WIN32
#include "Windows/Watchdog.inc"
#endif