Add a Sleep() function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64101 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Mikhail Glushenkov 2009-02-08 22:47:39 +00:00
parent e220e8cc07
commit ba041f45fe
3 changed files with 18 additions and 5 deletions

View File

@ -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

View File

@ -66,3 +66,7 @@ int sys::AlarmStatus() {
return 1;
return 0;
}
void Sleep(unsigned n) {
::sleep(n);
}

View File

@ -34,3 +34,7 @@ int sys::AlarmStatus() {
// FIXME: Implement for Win32
return 0;
}
void Sleep(unsigned n) {
Sleep(n*1000);
}