diff --git a/include/llvm/System/Alarm.h b/include/llvm/System/Alarm.h index 718ab8f3bb1..9535d23f812 100644 --- a/include/llvm/System/Alarm.h +++ b/include/llvm/System/Alarm.h @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// // -// This file provides an operating system independent interface to alarm(2) -// type functionality. The Alarm class allows a one-shot alarm to be set up +// This file provides an operating system independent interface to alarm(2) +// type functionality. The Alarm class allows a one-shot alarm to be set up // at some number of seconds in the future. When the alarm triggers, a method // is called to process the event // @@ -20,7 +20,7 @@ namespace llvm { namespace sys { - /// This function registers an alarm to trigger some number of \p seconds in + /// This function registers an alarm to trigger some number of \p seconds in /// the future. When that time arrives, the AlarmStatus function will begin /// to return 1 instead of 0. The user must poll the status of the alarm by /// making occasional calls to AlarmStatus. If the user sends an interrupt @@ -31,14 +31,19 @@ namespace sys { unsigned seconds ///< Number of seconds in future when alarm arrives ); - /// This function terminates the alarm previously set up + /// This function terminates the alarm previously set up /// @returns nothing void TerminateAlarm(); - /// This function acquires the status of the alarm. + /// This function acquires the status of the alarm. /// @returns -1=cancelled, 0=untriggered, 1=triggered int AlarmStatus(); + /// Sleep for n seconds. + /// @returns nothing. + void Sleep(unsigned n); + + } // End sys namespace } // End llvm namespace diff --git a/lib/System/Unix/Alarm.inc b/lib/System/Unix/Alarm.inc index 7faa6afa9ad..28ff1b8a636 100644 --- a/lib/System/Unix/Alarm.inc +++ b/lib/System/Unix/Alarm.inc @@ -66,3 +66,7 @@ int sys::AlarmStatus() { return 1; return 0; } + +void Sleep(unsigned n) { + ::sleep(n); +} diff --git a/lib/System/Win32/Alarm.inc b/lib/System/Win32/Alarm.inc index 2f1a2808f98..64a2107a8e7 100644 --- a/lib/System/Win32/Alarm.inc +++ b/lib/System/Win32/Alarm.inc @@ -34,3 +34,7 @@ int sys::AlarmStatus() { // FIXME: Implement for Win32 return 0; } + +void Sleep(unsigned n) { + Sleep(n*1000); +}