xref: /freebsd/contrib/llvm-project/llvm/lib/Support/Unix/Watchdog.inc (revision 7ef62cebc2f965b0f640263e179276928885e33d)
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);
24#endif
25}
26
27Watchdog::~Watchdog() {
28#ifdef HAVE_UNISTD_H
29  alarm(0);
30#endif
31}
32} // namespace sys
33} // namespace llvm
34