LLVM  9.0.0svn
Watchdog.h
Go to the documentation of this file.
1 //===--- Watchdog.h - Watchdog timer ----------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file declares the llvm::sys::Watchdog class.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_SUPPORT_WATCHDOG_H
14 #define LLVM_SUPPORT_WATCHDOG_H
15 
16 #include "llvm/Support/Compiler.h"
17 
18 namespace llvm {
19  namespace sys {
20 
21  /// This class provides an abstraction for a timeout around an operation
22  /// that must complete in a given amount of time. Failure to complete before
23  /// the timeout is an unrecoverable situation and no mechanisms to attempt
24  /// to handle it are provided.
25  class Watchdog {
26  public:
27  Watchdog(unsigned int seconds);
28  ~Watchdog();
29  private:
30  // Noncopyable.
31  Watchdog(const Watchdog &other) = delete;
32  Watchdog &operator=(const Watchdog &other) = delete;
33  };
34  }
35 }
36 
37 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:23
This class provides an abstraction for a timeout around an operation that must complete in a given am...
Definition: Watchdog.h:25
Watchdog(unsigned int seconds)