Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 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