xref: /freebsd/contrib/llvm-project/llvm/lib/Support/Unix/Watchdog.inc (revision bdd1243df58e60e85101c09001d9812a789b6bc4)
10b57cec5SDimitry Andric//===--- Unix/Watchdog.inc - Unix Watchdog Implementation -------*- C++ -*-===//
20b57cec5SDimitry Andric//
30b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric//
70b57cec5SDimitry Andric//===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric//
90b57cec5SDimitry Andric// This file provides the generic Unix implementation of the Watchdog class.
100b57cec5SDimitry Andric//
110b57cec5SDimitry Andric//===----------------------------------------------------------------------===//
120b57cec5SDimitry Andric
130b57cec5SDimitry Andric#include "llvm/Config/config.h"
140b57cec5SDimitry Andric
150b57cec5SDimitry Andric#ifdef HAVE_UNISTD_H
160b57cec5SDimitry Andric#include <unistd.h>
170b57cec5SDimitry Andric#endif
180b57cec5SDimitry Andric
190b57cec5SDimitry Andricnamespace llvm {
200b57cec5SDimitry Andricnamespace sys {
210b57cec5SDimitry AndricWatchdog::Watchdog(unsigned int seconds) {
220b57cec5SDimitry Andric#ifdef HAVE_UNISTD_H
230b57cec5SDimitry Andric  alarm(seconds);
240b57cec5SDimitry Andric#endif
250b57cec5SDimitry Andric}
260b57cec5SDimitry Andric
270b57cec5SDimitry AndricWatchdog::~Watchdog() {
280b57cec5SDimitry Andric#ifdef HAVE_UNISTD_H
290b57cec5SDimitry Andric  alarm(0);
300b57cec5SDimitry Andric#endif
310b57cec5SDimitry Andric}
32*bdd1243dSDimitry Andric} // namespace sys
33*bdd1243dSDimitry Andric} // namespace llvm
34