X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FClockService.cci;h=3c159550b094320a4805245e9c5b1c29d48d0355;hb=cc2bf0a1a29245d102d1962118fb19ef178393cf;hp=c24b736c365e6bc37c22df90a4226189d3b89458;hpb=c6811d4b2fdd60eb33af627ae287dd228f435d14;p=senf.git diff --git a/Scheduler/ClockService.cci b/Scheduler/ClockService.cci index c24b736..3c15955 100644 --- a/Scheduler/ClockService.cci +++ b/Scheduler/ClockService.cci @@ -47,6 +47,8 @@ prefix_ senf::ClockService::clock_type senf::ClockService::now() prefix_ senf::ClockService::clock_type senf::ClockService::clock_m(abstime_type time) { + if (now() - baseClock_ > 1000000000ll) + restart_m(); boost::posix_time::time_duration delta (time - baseAbstime_); return baseClock_ + clock_type( delta.ticks() ) * clock_type( 1000000000UL / boost::posix_time::time_duration::ticks_per_second() ); @@ -54,6 +56,8 @@ prefix_ senf::ClockService::clock_type senf::ClockService::clock_m(abstime_type prefix_ senf::ClockService::abstime_type senf::ClockService::abstime_m(clock_type clock) { + if (now() - baseClock_ > 1000000000ll) + restart_m(); #ifdef BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG return baseAbstime_ + boost::posix_time::nanoseconds(clock-baseClock_); #else