xref: /freebsd/contrib/llvm-project/llvm/lib/Support/Unix/Watchdog.inc (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1//===--- Unix/Watchdog.inc - Unix Watchdog Implementation -------*- 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 provides the generic Unix implementation of the Watchdog class.
10//
11//===----------------------------------------------------------------------===//
12
13#include "llvm/Config/config.h"
14
15#ifdef HAVE_UNISTD_H
16#include <unistd.h>
17#endif
18
19namespace llvm {
20  namespace sys {
21    Watchdog::Watchdog(unsigned int seconds) {
22#ifdef HAVE_UNISTD_H
23      alarm(seconds);
24#endif
25    }
26
27    Watchdog::~Watchdog() {
28#ifdef HAVE_UNISTD_H
29      alarm(0);
30#endif
31    }
32  }
33}
34