mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
6eeb281e09
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. llvm-svn: 177962
33 lines
778 B
C++
33 lines
778 B
C++
//===--- Unix/Watchdog.inc - Unix Watchdog Implementation -------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file provides the generic Unix implementation of the Watchdog class.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
namespace llvm {
|
|
namespace sys {
|
|
Watchdog::Watchdog(unsigned int seconds) {
|
|
#ifdef HAVE_UNISTD_H
|
|
alarm(seconds);
|
|
#endif
|
|
}
|
|
|
|
Watchdog::~Watchdog() {
|
|
#ifdef HAVE_UNISTD_H
|
|
alarm(0);
|
|
#endif
|
|
}
|
|
}
|
|
}
|