| //===-- Alarm.inc - Implement Win32 Alarm Support ---------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file implements the Win32 Alarm support. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include <cassert> |
| using namespace llvm; |
| |
| /// NestedSOI - Sanity check. Alarms cannot be nested or run in parallel. |
| /// This ensures that they never do. |
| static bool NestedSOI = false; |
| |
| void sys::SetupAlarm(unsigned seconds) { |
| assert(!NestedSOI && "sys::SetupAlarm calls cannot be nested!"); |
| NestedSOI = true; |
| // FIXME: Implement for Win32 |
| } |
| |
| void sys::TerminateAlarm() { |
| assert(NestedSOI && "sys::TerminateAlarm called without sys::SetupAlarm!"); |
| // FIXME: Implement for Win32 |
| NestedSOI = false; |
| } |
| |
| int sys::AlarmStatus() { |
| // FIXME: Implement for Win32 |
| return 0; |
| } |
| |
| // Don't pull in all of the Windows headers. |
| extern "C" void __stdcall Sleep(unsigned long); |
| |
| void sys::Sleep(unsigned n) { |
| ::Sleep(n*1000); |
| } |