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 {
20namespace sys {
21Watchdog::Watchdog(unsigned int seconds) {
22#ifdef HAVE_UNISTD_H
23 alarm(seconds: seconds);
24#endif
25}
26
27Watchdog::~Watchdog() {
28#ifdef HAVE_UNISTD_H
29 alarm(seconds: 0);
30#endif
31}
32} // namespace sys
33} // namespace llvm
34