blob: b58496b2fb8eaab490e27b9f596296a76e2b4004 [file] [log] [blame]
//===--- Watchdog.h - Watchdog timer ----------------------------*- C++ -*-===//
// The LLVM Compiler Infrastructure
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
// This file declares the llvm::sys::Watchdog class.
#include "llvm/Support/Compiler.h"
namespace llvm {
namespace sys {
/// This class provides an abstraction for a timeout around an operation
/// that must complete in a given amount of time. Failure to complete before
/// the timeout is an unrecoverable situation and no mechanisms to attempt
/// to handle it are provided.
class Watchdog {
Watchdog(unsigned int seconds);
// Noncopyable.
Watchdog(const Watchdog &other) LLVM_DELETED_FUNCTION;
Watchdog &operator=(const Watchdog &other) LLVM_DELETED_FUNCTION;