Stroika Library 3.0d23x
 
Loading...
Searching...
No Matches
Sleep.cpp
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2026. All rights reserved
3 */
4#include "Stroika/Foundation/StroikaPreComp.h"
5
7
8#include "Sleep.h"
9
10using namespace Stroika::Foundation;
11using namespace Stroika::Foundation::Execution;
12using namespace Stroika::Foundation::Time;
13
14/*
15 ********************************************************************************
16 *************************** Execution::SleepUntil ******************************
17 ********************************************************************************
18 */
19void Execution::SleepUntil (Time::TimePointSeconds untilTickCount)
20{
21 Thread::CheckForInterruption (); // assure always check at least once, since interruption point
22 for (TimePointSeconds now = Time::GetTickCount (); untilTickCount > now; now = Time::GetTickCount ()) {
23 DurationSeconds ignored{};
24 Sleep (untilTickCount - now, &ignored);
25 }
26}
time_point< RealtimeClock, DurationSeconds > TimePointSeconds
TimePointSeconds is a simpler approach to chrono::time_point, which doesn't require using templates e...
Definition Realtime.h:82
chrono::duration< double > DurationSeconds
chrono::duration<double> - a time span (length of time) measured in seconds, but high precision.
Definition Realtime.h:57
void Sleep(Time::Duration seconds2Wait)
Definition Sleep.inl:97