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